# Train-tracks for sage

By Thierry Coulbois

This is a webpage for my program that deals with (outer) automorphisms of free groups and computes train-track representative.

## Getting started

All files and documents under Creative Commons Attribution 3.0 license. You are free to share, remix and make commercial use provided that you clearly attribute Sage.

It is now distrubuted as a python package on pypi.python.org. So just run Sage with
```	sage -pip install train_track
```
Or if you do not have enough privileges
```	sage -pip install --user train_track
```
```	sage -pip install /path/to/train_track-0.1.2.tar.gz
```

We also plan to include it inside the standard Sage distribution and there is a ticket (#20154) at the Sage development web site. Please volunteer to review that ticket.

After installing usage is very easy:

```	  sage: from train_track import *
```

1. To use my package you need Sage.
 Sage is an open-source math-oriented software. It is highly recommended in everyday life of the working mathematician, both for teaching and research. Sage is very easy to install.
2. Sage offers online help by using the key `<tab>` after the name of a variable followed by a dot or after an opening parenthesis.

## Overview

Currently with my software you can work with:
• Free group automorphisms: apply to words, composition, inverse; there are predefined automorphisms: Dehn twists, surface Dehn twists, braids, and a list of examples from the litterature.
• Random automorphisms (or mapping classes or braids) allowing statistical and asymptotic tests and conjectures.
• Topological representatives: these are graphs together with a marking and a homotopy equivalence. the rose representative of an automorphism is defined. You can fold, fusion edges, contract invariant forests and tails, etc.
• Train-tracks: This is the main achievement of my program: it computes train-track representatives: absolute train-tracks if any, stable train-tracks (i.e. with at most one essential indivisible Nielsen path (INP)), relative train-tracks and stable relative train-tracks. Finds INP.
• Decide wether an automorphism is fully irreducible (iwip).
• Compute the index, index list and ideal Whitehead graphs.
• Most methods have a `verbose` option.
• Construct Guirarderl's Convex Core for two simplicial trees in Outer Space and its boundary.

## TESTS

• [11 mars 2021] Ubuntu 20.04.2, Sage 9.2, train_track-0.1.3 failing badly due to changes in the wrapping of GAP FreeGroup into Sage
• [11 mars 2021] Ubuntu 20.04.2, Sage 9.0, train_track-0.1.3 all tests pass
• [13 mai 2019] deprecation of generic_power() between sage 8.1 and sage 8.2, creates some bugs with powers of automorphisms with sage less ore equal to 8.1.
• [21 mars 2018] Ubuntu 16.04 and Sage 8.1: all tests pass (but 1 fail in ConvexCore)
• [24 avril 2018]MacBook Pro (13 pouces, mi-2012), Mac OS 10.13.4 and Sage 8.1: all tests pass.

## TODO list

If there are volunteers to code new features or fix bugs...
Possible mathematic extensions Known bugs and weakness
1. Fixed subgroup of an automorphism.
2. Suggestions welcome.
1. LaTeX output are not fully available.
2. Conflict with the present FreeGroup of Sage (which is a wrapper of GAP). See ticket #20154
If you wish to contribute or get the most recent files, go to the github repository.

 I am eager to get some feedback on my work. Please e-mail me comments, bug-reports, expectations, etc.: .