surface-dynamics: Dynamics with Surfaces

surface-dynamics: Dynamics with Surfaces#

The surface-dynamics package for SageMath provides functionality related to interval exchange transformations, translation surfaces, mapping classes and more. It is based on SageMath and relies heavily on:

  • GMP for arbitrary precision arithmetic

  • PARI/GP for number field computations

  • GAP for finite groups representation and permutation groups

  • PPL (Parma Polyhedra Library) and LattE (Lattice point Enumeration) for polytope computations

The development of surface-dynamics is coordinated on GitHub at flatsurf/surface-dynamics.

Installation#

The preferred way to install software should be to use your package manager (e.g. apt on Debian or Ubuntu, pacman on Arch Linux, brew on macOS, etc). However, as of this writing, surface-dynamics has not been picked up by any of the major distributions yet.

We therefore recommend to install the entire flatsurf suite from the sage-flatsurf Releases Page.

Detailed installation instructions:

If you are planning to work on the surface-dynamics source code, you can also build surface-dynamics from source. For this, please have a look at our Developer’s Guide.

A Tour of surface-dynamics#

Demos of some of the capabilities of surface-dynamics:

Module Reference#

The surface-dynamics source code is split into several Python modules. The links below lead to the documentation for these modules with more usage examples and the source code for all the classes and functions implemented in surface-dynamics. (Note that you can also access this documentation from an interactive SageMath session with ? and ??.)

Citation#

To cite surface-dynamics, please follow the instructions on our zenodo website.

See our References for everything that is cited in this documentation.