Closed videlec closed 2 years ago
Author: Sébastien Labbé
We did this this morning during the Sage Thursday's in Bordeaux.
New commits:
c625f9e | 32594: adding letter_growth_types method |
Branch: u/slabbe/32594
Tu fais du sage en dehors des sage thursdays maintenant :)
The "(mortal, polynomial, exponential)" would better be inside ``
.
I don't understand the nested loop. Could you explain in the documentation or in comment how and why it works?
ok
Replying to @videlec:
Tu fais du sage en dehors des sage thursdays maintenant :)
C'était fait pendant, mais il y a eu une panne d'internet vers 11h45, donc j'ai fait le git push après déjeuner:)
Branch pushed to git repo; I updated commit sha1. New commits:
11d2679 | 32594: added some more comments about the loop invariant |
Added few more comments. Now need review.
Branch pushed to git repo; I updated commit sha1. New commits:
7dd5c27 | 32594: while loop -> inner while loop |
Branch pushed to git repo; I updated commit sha1. New commits:
a89e941 | 32594: few more comments about m vs morphism self |
And few more sorry. Now I stop. Needs review!
Changed branch from u/slabbe/32594 to u/vdelecroix/32594
I added a commit on top of yours. I did some modifications in the code in order to avoid building many dictionaries. Actually, the whole code is pure linear algebra and could be moved to matrices.
If you are ok you can set to positive review.
There is only one issue to be fixed:
src/sage/combinat/words/morphism.py:3283:38: E701 multiple statements on one line (colon)
After that fixed, I am fine with positive review.
Branch pushed to git repo; I updated commit sha1. New commits:
ce5ca81 | 32594: fix multiple line statement |
Reviewer: Vincent Delecroix, Sébastien Labbé
Changed author from Sébastien Labbé to Sébastien Labbé, Vincent Delecroix
Changed branch from u/vdelecroix/32594 to ce5ca81
The aim is to refine
WordMorphism.growing_letters
to differentiate the various possible behaviors of|sigma^n(letter)|
. This growth is always of the formalpha^n n^beta
(wherealpha
is a Perron number andbeta
an integer). Without doing any linear algebra we could differentiatealpha=0
)alpha=1
)alpha > 1
) The output of the method will a 3-tuple of lists(mortal, polynomial, exponential)
wheremortal
: list of mortal letterspolynomial
: a list of lists wherepolynomial[i]
is the list of letters with growthn^i
.exponential
: list of at least exponentionally growing lettersThe implementation can be done iteratively by "cleaning" the morphism
immortal_letters
to detect mortal letters and remove themCC: @sagetrac-jlepsova @seblabbe
Component: combinatorics
Author: Sébastien Labbé, Vincent Delecroix
Branch/Commit:
ce5ca81
Reviewer: Vincent Delecroix, Sébastien Labbé
Issue created by migration from https://trac.sagemath.org/ticket/32594