Tautological ring on Mbar_g,n
Project description
admcycles
admcycles is a SageMath module to compute with the tautological ring of the moduli spaces of complex curves. You can install it on top of a SageMath installation on your computer (see the instructions below). You can alternatively use one of the online services below that have admcycles already installed:
 SageMathCell: An online service for SageMath computations that does not require authentification.
 CoCalc: A complete computation environment that offers a free plan subscription (with limited resources).
admcycles includes the SageMath module diffstrata to compute with the tautological ring of the moduli space of multiscale differentials, a compactification of strata of flat surfaces. It is particularly tailored towards computing Euler characteristics of these spaces.
Detailed information on the package is contained in the documents
 admcycles – a Sage package for calculations in the tautological ring of the moduli space of stable curves [arxiv:2002.01709]
 diffstrata – a Sage package for calculations in the tautological ring of the moduli space of Abelian differentials [arxiv:2006.12815]
Installation
Prerequisites
Make sure that SageMath is installed on your computer. Detailed installation instructions for different operating systems are available here and on the SageMath website.
All the command below must be run inside a console (the last character of the prompt is usally a $). On Windows this is called SageMath Shell while on linux and MacOS this is often referred to as a terminal.
Inside the console, we assume that the command sage launches a Sage session (whose prompt is usually sage:). To quit the Sage session type quit and press Enter.
Installation with pip (the Python package manager)
The most convenient way to use admcycles is to add the package to your Sage installation. The exact procedure for this depends on your operating system and how you installed Sage. If the pip installation fails, see the sections Manual installation with pip or Use without installation below.
If you manually installed Sage by downloading it from the website, then run in a shell console:
$ sage pip install admcycles user
Here, the user is an optional argument to pip which, when provided, will install admcycles not inside the Sage folder but in your home directory.
If you have a linux distribution and installed the sagemath package via your package manager then run in a shell console:
$ pip install admcycles user
The pip command above might have to be changed to pip2 or pip3 depending on your system. Also, on Debian/Ubuntu systems, the following step might be necessary before running the above command:
$ source /usr/share/sagemath/bin/sageenv
Manual installation with pip
The automatic installation with pip from Section Installation with pip might fail. One common reason is the lack of SSL support of the SageMath binaries. In such situation you can follow the procedure below that bypass the connection of pip to the web.
Download the admcycles package as a tar.gzfile or .zip file either from PyPI or from gitlab.
Inside a shell console run:
$ sage pip install /where/is/the/package.tar.gz user
Here, the user is an optional argument to pip which, when provided, will install admcycles not inside the Sage folder but in your home directory.
Installation of the development version
If you want to install the development version, you need to have the versioning software git installed. The only change in the procedure is to replace admcycles in the any of the command above by git+https://gitlab.com/jo314schmitt/admcycles.
Upgrade
If you have already installed admcycles and a new version appears on PyPI, you can update your installation by appending the option upgrade above.
Use without installation
To use the package without installing, download the package as a .zip or .tar.gzfile either from PyPI or from gitlab. Unpack the .zip or .tar.gz file. This creates a folder which should contain a file setup.py. In order to use the module, you need to run Sage from this folder. For example, if the full path of this folder is /u/You/Downloads/admcycles, you could do:
$ cd /u/You/Downloads/admcycles $ sage
Or directly inside a Sage session:
sage: cd /u/You/Downloads/admcycles
If you run Sage in Windows using cygwin, the path above should be a cygwin path and will looks something like /cygdrive/c/Users/You/Downloads/admcyclesmaster.
Example
To start using admcycles, start a Sage session (either in the command line, or a Jupyter notebook, or inside one of the online services). Then type:
sage: from admcycles import *
To try a first computation, you can compute the degree of the class kappa_1 on Mbar_{1,1} by:
sage: kappaclass(1,1,1).evaluate() 1/24
You can have a look at the above computation directly in SageMathCell.
Here is a more advanced computation:
sage: t1 = 3*sepbdiv(1,(1,2),3,4)  psiclass(4,3,4)^2 sage: t1 Graph : [1, 2] [[1, 2, 5], [3, 4, 6]] [(5, 6)] Polynomial : 3* <BLANKLINE> Graph : [3] [[1, 2, 3, 4]] [] Polynomial : (1)*psi_4^2
To use diffstrata, the package must be imported separately. Type:
sage: from admcycles.diffstrata import *
To try a first computation, you can compute the Euler characteristic of the minimal stratum H(2) in genus 2:
sage: X = Stratum((2,)) sage: X.euler_characteristic() 1/40
Here is a more advanced computation:
sage: X = Stratum((1,1)) sage: (X.xi^2 * X.psi(1) * X.psi(2)).evaluate() 1/720
Building documentation
To build the documentation, go in the repository docs/ and then run in a console:
$ sage sh (sagesh)$ make html (sagesh)$ exit
The documentation is then available in docs/build/
Running doctests
To run doctests, use the following command:
$ sage t forcelib admcycles/ docs/source
If it succeeds, you should see a message:
All tests passed!
License
admcycles is distributed under the terms of the GNU General Public License (GPL) published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See http://www.gnu.org/licenses/.
Funding
Johannes Schmitt was supported by the grant SNF200020162928 and has received funding from the European Research Council (ERC) under the European Union Horizon 2020 research and innovation programme (grant agreement No 786580). He also profited from the SNF Early Postdoc.Mobility grant 184245 and also wants to thank the Max Planck Institute for Mathematics in Bonn for its hospitality. Vincent Delecroix was a guest of the MaxPlanck Institut and then of the Hausdorff Institut for Mathematics during the development of the project. Jason van Zelm was supported by the Einstein Foundation Berlin during the course of this work.
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
Built Distribution
Hashes for admcycles1.3.2py3noneany.whl
Algorithm  Hash digest  

SHA256  a0e5c2154e9d2eddeb45fcbf5d1eec4de8ec4a4e6d475545f537fca05e3321ed 

MD5  b4e92e4993532007b15ddd5d73001fbc 

BLAKE2256  14e36ff6377c9b6d770884aadf3c1091a5952a9a46bbb47a914a90bd388cb5a7 