sagemath / sage

Main repository of SageMath. Now open for Issues and Pull Requests.
https://www.sagemath.org
Other
1.21k stars 421 forks source link

Fomin's growth diagrams and Schensted-like algorithms #21594

Closed mantepse closed 7 years ago

mantepse commented 7 years ago

Depends on #21609

CC: @sagetrac-sage-combinat @darijgr @tscrim @kevindilks @sagetrac-etzanaki @VivianePons

Component: combinatorics

Keywords: days82

Author: Martin Rubey

Branch: 0b566fa

Reviewer: Frédéric Chapoton, Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/21594

mantepse commented 7 years ago

Branch: u/mantepse/growth_diagrams

mantepse commented 7 years ago

Commit: cdc8359

mantepse commented 7 years ago

New commits:

cdc8359initial version
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

0edd4e4new methods to_word and to_biword for rectangular fillings
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from cdc8359 to 0edd4e4

mantepse commented 7 years ago

Author: Martin Rubey

mantepse commented 7 years ago
comment:6

Comments very welcome!

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from 0edd4e4 to a98c9e7

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

a98c9e7add domino forward
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from a98c9e7 to d006e7e

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

d006e7ecatch error in to_biword
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

5e0c373make everything a little better
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from d006e7e to 5e0c373

mantepse commented 7 years ago
comment:10

Where should I put the documentation? catalog_partitions.py?

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from 5e0c373 to 61a126d

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

61a126dbeautify documentation
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

c0ef388fix docbuild problems
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from 61a126d to c0ef388

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from c0ef388 to dda776e

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

dda776emake rules methods, mainly to beautify documentation
tscrim commented 7 years ago
comment:15

Looks like this will become a very good addition to Sage. I think your choice of catalog_partitions.py is the best place in the doc. Some quick comments:

mantepse commented 7 years ago
comment:16

Replying to @tscrim:

Looks like this will become a very good addition to Sage. I think your choice of catalog_partitions.py is the best place in the doc. Some quick comments:

Thanks!

  • When you just pass the same args to the base class __init__, you don't need to define an __init__ (e.g., GrowthDiagramRSK).

Could you expand on this? (Eg., by example)

tscrim commented 7 years ago
comment:17

Replying to @mantepse:

Replying to @tscrim:

  • When you just pass the same args to the base class __init__, you don't need to define an __init__ (e.g., GrowthDiagramRSK).

Could you expand on this? (Eg., by example)

You can simply remove GrowthDiagramRSK.__init__.

mantepse commented 7 years ago
comment:18

Oh, thanks! I somehow didn't see that I really don't do anything but passing the arguments...

Related question: should I replace the (soft) requirement to implement _shape_from_labels with the (soft) requirement to implement the rank function of the dual graded graphs? ("soft" means that not implementing this doesn't render the whole thing useless, just less practical: without it, one has to provide the shape of the region always.)

The downside is: it might be that the covering relation is easier than the rank function... Moreover, if we want to check the argument labels, we need the two covering relations, not just the rank.

On the other hand, it would be much less code.

tscrim commented 7 years ago
comment:19

I can't really answer that without doing a more detailed review, which I don't have the time right now for (maybe in a week or so).

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

a60a9f2add introduction, fix triple quotes
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from dda776e to a60a9f2

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from a60a9f2 to 0690c86

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

0690c86move P and Q symbol to where it belongs
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

5a06189move shape_from_labels to main class
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from 0690c86 to 5a06189

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

9f8725bimprove doctests, make rules static, include Young-Fibonacci
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from 5a06189 to 9f8725b

mantepse commented 7 years ago

Dependencies: #21609

mantepse commented 7 years ago
comment:25

I need help with the following complaint of the patchbot:

========== next_method ==========
git checkout patchbot/ticket_merged
Already on 'patchbot/ticket_merged'
inside file:  b/src/sage/combinat/growth.py
@@ -0,0 +1,1374 @@
+            v = filling.itervalues().next()
python2-only .next() method inserted on 1 non-empty lines
Traceback (most recent call last):
  File "/home/patchbot/sage-patchbot/local/lib/python2.7/site-packages/sage_patchbot/patchbot.py", line 1060, in test_a_ticket
    baseline=baseline, **kwds)
  File "/home/patchbot/sage-patchbot/local/lib/python2.7/site-packages/sage_patchbot/plugins.py", line 358, in next_method
    msg="python2-only .next() method", **kwds)
  File "/home/patchbot/sage-patchbot/local/lib/python2.7/site-packages/sage_patchbot/plugins.py", line 214, in exclude_new
    raise ValueError(full_msg)
ValueError: python2-only .next() method inserted on 1 non-empty lines
next_method -- 0 seconds
========== end next_method ==========

What should I do about it?

tscrim commented 7 years ago
comment:26

Change iter.next() to (the Python3 compatible) next(iter).

Edit - more explicitly: filling.itervalues().next() -> next(filling.itervalues())

fchapoton commented 7 years ago
comment:27

you can and should get rid of the deprecation

+        sage: pi.descents()
+        doctest:...: DeprecationWarning: default behavior of descents may change in the near future to have indices starting from 1
+        See http://trac.sagemath.org/20555 for details.
+        [0, 2, 4, 5]

by setting explicitly from_zero=True (or False if you prefer):

sage: pi.descents(from_zero=True)
fchapoton commented 7 years ago
comment:28

this is still to be corrected:

+    """A skew tableau.

by adding a line break between """ and A

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from 9f8725b to 6f39955

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

6f39955fix triple quote
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from 6f39955 to e8f4445

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

e8f4445fix descent deprecation
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

ede2937fix python2/3 iter.next()
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from e8f4445 to ede2937

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

b000413factor out half perimeter
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from ede2937 to b000413

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from b000413 to 1f2f566

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

1f2f566add sylvester insertion on binary trees, and document a possible bug in young fibonacci
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

c0ffb06make checking of labels possible, example in YoungFibonacci
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from 1f2f566 to c0ffb06