For calculations in the curve complex

## Project description

Curver is a program for performing calculations in the curve complex. It implements the Bell–Webb algorithm to determine the Nielsen–Thurston type of a mapping class. This algorithm runs in polynomial time but the constants involved currently make this implementation impractical.

Curver officially supports Python 2.7 and 3.4 – 3.7. It also runs on PyPy and Sage.

A taste of curver:

>>> S = curver.load(0, 5) >>> S('s_0.s_1.s_0') == S('s_1.s_0.s_1') True >>> S('s_0.s_1.s_2.s_3').order(), S('s_0.s_1.s_3.s_2').order(), S('s_0.s_1.S_2.S_3').order() (5, 5, 5) >>> S('s_0.s_1.s_2.s_3').is_conjugate_to(S('s_0.s_1.s_3.s_2')) True >>> S('s_0.s_1.s_2.s_3').is_conjugate_to(S('s_0.s_1.S_2.S_3')) False

## Features

- Solves the word problem for mapping class groups.
- Performs Nielsen–Thurston classification of mapping classes.
- Solves the conjugacy problem for periodic mapping classes.
- Computes the asymptotic translation length of mapping classes on the curve complex.
- Computes geodesics in the curve complex.
- Computes quotient orbifolds and their quotient maps.
- Computes the action of mapping classes on H_1.
- Determines the topological type of multicurves.

## Project details

## Release history Release notifications

## Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|

Filename, size curver-0.3.5.tar.gz (126.8 kB) | File type Source | Python version None | Upload date | Hashes View hashes |