Orbits ====== *Orbits* is free software licensed under the GNU Public license, version 2 or higher, and it is provided `without warranty of any kind`__. __ http://www.gnu.org/licenses/gpl-2.0-standalone.html#section11 In a remarkable `paper `_ by Ian Agol, Joel Hass and Bill Thurston it was shown that the problem of deciding whether a knot has a genus :math:`g` spanning surface is NP complete. Along the way, the authors described an algorithm for solving the following problem: * | Given an equivalence relation on the set :math:`J = \{1, ..., N\}` which | is generated by :math:`k` isometric pairings between subintervals of :math:`J`, | compute the number of equivalence classes. They showed that the running time of the algorithm is amazingly fast -- bounded by a polynomial in :math:`k \log N`. *Orbits* is a python module which implements their algorithm. .. toctree:: :maxdepth: 2 :caption: Contents: module Installation ------------ *Orbits* is a simple python module consisting of a single file. To install it run :: python setup.py install or, on linux, :: sudo python setup.py install A simple example computation is provided in the file example.py. Indices and tables ------------------ * :ref:`genindex` * :ref:`modindex` * :ref:`search`