For studying big mapping classes
Project description
Bigger
======
.. image:: https://img.shields.io/pypi/v/bigger.svg
:target: https://pypi.org/project/bigger/
:alt: PyPI version
.. image:: https://img.shields.io/pypi/l/bigger.svg
:target: https://pypi.org/project/bigger/
:alt: PyPI license
.. image:: https://img.shields.io/github/workflow/status/MarkCBell/bigger/Build/master
:target: https://github.com/MarkCBell/bigger/actions
:alt: Github build status
..
can also use: https://github.com/MarkCBell/bigger/workflows/Build/badge.svg?branch=master
Bigger is a program for computing big mapping classes and their actions on non-compact laminations via ideal triangulation coordinates.
It's like `flipper`_ and `curver`_, but can handle infinite-type surfaces by being lazy about the computations it performs.
Bigger officially supports Python 3.7 -- 3.9.
.. image:: images/ladder.png
:scale: 75 %
:alt: An arc on the ladder surface
:align: center
Quickstart
----------
Bigger is available on `PyPI`_, so it can be installed via::
$ pip install bigger --user --upgrade
Once installed, try it inside of Python::
>>> import bigger
>>> S = bigger.load.spotted_ladder() # The infinite-genus two-ended surface
# Let's make a finite curve
>>> c = S.triangulation({(0, 5): 1, (0, 6): 1})
>>> c
Lamination (0, 5): 1, (0, 6): 1
# Let's make an infinite lamination
>>> a = S.triangulation(lambda e: 2 if e[1] in {2, 3, 4, 6} else 0)
>>> a
Infinitely supported lamination (0, 0): 0, (0, 1): 0, (0, 2): 2, (0, 3): 2, (0, 4): 2, (0, 5): 0, (0, 6): 2, (0, 7): 0, (0, 8): 0, (-1, 0): 0 ...
# Let's make the picture at the top
>>> b = S('b{n >= 0}.a[2].a.a')(a) # Apply some mapping classes
# The edges that we are interested in
>>> edges = [(i, j) for i in range(-1, 2) for j in range(2, 9)] + [(i, 0) for i in range(2)]
>>> b.draw(edges, layout=S, w=800)
External Links
--------------
* `PyPI`_
* `ReadTheDocs`_
* `GitHub`_
* `AppVeyor`_
* `Azure`_
.. _AppVeyor: https://ci.appveyor.com/project/MarkCBell/bigger
.. _Azure: https://dev.azure.com/MarkCBell/bigger
.. _GitHub: https://github.com/MarkCBell/bigger
.. _PyPI: https://pypi.org/project/bigger
.. _ReadTheDocs: http://biggermcg.readthedocs.io
.. _curver: https://curver.readtthedocs.io
.. _flipper: https://flipper.readtthedocs.io
======
.. image:: https://img.shields.io/pypi/v/bigger.svg
:target: https://pypi.org/project/bigger/
:alt: PyPI version
.. image:: https://img.shields.io/pypi/l/bigger.svg
:target: https://pypi.org/project/bigger/
:alt: PyPI license
.. image:: https://img.shields.io/github/workflow/status/MarkCBell/bigger/Build/master
:target: https://github.com/MarkCBell/bigger/actions
:alt: Github build status
..
can also use: https://github.com/MarkCBell/bigger/workflows/Build/badge.svg?branch=master
Bigger is a program for computing big mapping classes and their actions on non-compact laminations via ideal triangulation coordinates.
It's like `flipper`_ and `curver`_, but can handle infinite-type surfaces by being lazy about the computations it performs.
Bigger officially supports Python 3.7 -- 3.9.
.. image:: images/ladder.png
:scale: 75 %
:alt: An arc on the ladder surface
:align: center
Quickstart
----------
Bigger is available on `PyPI`_, so it can be installed via::
$ pip install bigger --user --upgrade
Once installed, try it inside of Python::
>>> import bigger
>>> S = bigger.load.spotted_ladder() # The infinite-genus two-ended surface
# Let's make a finite curve
>>> c = S.triangulation({(0, 5): 1, (0, 6): 1})
>>> c
Lamination (0, 5): 1, (0, 6): 1
# Let's make an infinite lamination
>>> a = S.triangulation(lambda e: 2 if e[1] in {2, 3, 4, 6} else 0)
>>> a
Infinitely supported lamination (0, 0): 0, (0, 1): 0, (0, 2): 2, (0, 3): 2, (0, 4): 2, (0, 5): 0, (0, 6): 2, (0, 7): 0, (0, 8): 0, (-1, 0): 0 ...
# Let's make the picture at the top
>>> b = S('b{n >= 0}.a[2].a.a')(a) # Apply some mapping classes
# The edges that we are interested in
>>> edges = [(i, j) for i in range(-1, 2) for j in range(2, 9)] + [(i, 0) for i in range(2)]
>>> b.draw(edges, layout=S, w=800)
External Links
--------------
* `PyPI`_
* `ReadTheDocs`_
* `GitHub`_
* `AppVeyor`_
* `Azure`_
.. _AppVeyor: https://ci.appveyor.com/project/MarkCBell/bigger
.. _Azure: https://dev.azure.com/MarkCBell/bigger
.. _GitHub: https://github.com/MarkCBell/bigger
.. _PyPI: https://pypi.org/project/bigger
.. _ReadTheDocs: http://biggermcg.readthedocs.io
.. _curver: https://curver.readtthedocs.io
.. _flipper: https://flipper.readtthedocs.io
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bigger-0.3.1.tar.gz
(176.5 kB
view details)
File details
Details for the file bigger-0.3.1.tar.gz
.
File metadata
- Download URL: bigger-0.3.1.tar.gz
- Upload date:
- Size: 176.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b2da6dc34081928232c96daca10050341a6ce3658435e2e62224c97f9dda2f0 |
|
MD5 | ecdea10c3520b0d08b8bc5c3f17868d1 |
|
BLAKE2b-256 | 8d0f1b52ce9d0e244e7889273bfe47ef16514b1e6dd80c6433796dec77826c03 |