coulbois / sage-train-track

Free group automorphisms and train-track representative in python/sage
GNU General Public License v3.0
9 stars 9 forks source link

sage-train-track

Free group automorphisms and train-track representatives in python/sage.

This is a Sage optional package. It contains code to handle free group automorphisms (inversion, composition, etc.) and to compute train-track representatives (absolute and relative, stable and unstable) as defined by Bestvina and Handel. This includes the computation of Nielsen paths and indices of iwip automorphisms and much more. Convex cores of pairs of tree as defined by Guirardel also appear.

Installation::

sage -pip install train_track

Warning: it seems that Mac OS X 10.13 and later has a security conflict between SIP and SSL and does not succeed in downloading the package from https://pypi.python.org. To overcome this difficulty, just download the tarball train_track-0.1.4.tar.gz from

https://pypi.python.org/simple/train_track

and run::

sage -pip install /path/to/train_track-0.1.4.tar.gz

Warning: if you lack intstallation privilege, you can install only for yourself::

sage -pip install --user train_track

On Cocalc.com installation can be done either from a terminal as above or from a cell::

!sage -pip install train_track

Warning, Cocalc free accounts do not have access to internet, first download the tarball then install.

Usage::

sage: from train_track import *

After this command, you can play with free groups and their automorphisms::

sage: FreeGroup('a,b,c')
Free Group on generators {a, b, c}
sage: FreeGroupAutomorphism('a->bCb,b->Bc,c->BcBa')
Automorphism of the Free Group on generators {a, b, c}: a->a*b,b->a*c,c->a
sage: free_group_automorphisms.Cohen_Lustig_1_6()
Automorphism of the Free Group on generators {a, b, c}: a->c^3*a*c^-3,b->c^-1*a*c^2*a^-1*b*c^-1,c->a*c^2*a^-1*b*c^2*a*c^-2*b^-1*a*c^-2*a^-1*c^4*a^-1*c^-3