Skip to main content

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

Project details


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)

Uploaded Source

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

Hashes for bigger-0.3.1.tar.gz
Algorithm Hash digest
SHA256 4b2da6dc34081928232c96daca10050341a6ce3658435e2e62224c97f9dda2f0
MD5 ecdea10c3520b0d08b8bc5c3f17868d1
BLAKE2b-256 8d0f1b52ce9d0e244e7889273bfe47ef16514b1e6dd80c6433796dec77826c03

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page