# SageMath external packages

A tentative list of external packages for SageMath (spkg, pip-installable packages, etc).

- Feel free to add more packages, links, notes.
- Use this list to add examples to the Code Sharing Workflow wiki page.
- Note also Chris Swierczewski's Creating External Sage Packages.
- With the SageMath sample package you will find a minimal example of a Sage package.using a numbering scheme described by Brian Conrey

See also

- Packages on PyPI matching 'sagemath'
- Packages on PyPI matching 'sage' and Mathematics
- Packages on PyPI matching 'sage' and Science
- Sage-wiki page for SPKGs
- Packages on github matching "Sage code"

### List of external packages

#### Modular Abelian Varieties

by William Stein and Hao Chen

Links:

#### Python implementation of chebfun

by Chris Swierczewski

#### Purple Sage

by William Stein

A Library of Number Theory Code that depends on Sage.

#### Sébastien Labbé's research code

by Sébastien Labbé

See also this blog post

Notes:

- This is an spkg, rather than a standard pip-installable package.
- Version 0.1 contains modules on digital geometry, combinatorics on words and more.
- Version 0.2 provides modules on multidimensional continued fraction algorithms, matrix cocycles, languages and tikzpictures.
- Version 0.3 to be released will be pip-installable.

#### CHA

by Nicolas Borie

A Sage Library of Combinatorial Hopf algebras.

#### Sage-semigroups

by Nicolas M. Thiéry

A semigroup (representation) theory library for SageMath.

(very preliminary!!!)

#### Automata and semigroups

by Charles Paperman

#### ss-isogeny-software

by Luca De Feo

keywords: isogeny elliptic curve cryptography quantum

#### Abel Functions

by Chris Swierczewski

Discussion at https://groups.google.com/d/msg/sage-devel/29ndCD8z94k/K6H2OK5TAgAJ

#### Schottky uniformization

by Jeremy Upsal

Various ideas from Schottky uniformization are implemented in Sage. These now include the SK prime function and will later include the Riemann Theta function built from a RS via Schottky uniformization due to Darren Crowdy.

#### flatsurf: flat surfaces

by Vincent Delecroix and Samuel Lelièvre

#### sage-flatsurf: flat surfaces

by Vincent Delecroix and Pat Hooper

#### Lyapunov exponents for multidimensional continued fractions

by Vincent Delecroix and Sébastien Labbé

Links:

#### Sage train track

by Thierry Coulbois

#### Flagmatic

by Emil R. Vaughan

(it is a subject of a GSoC 2016 project to port it to Sage 7.4)

#### Chow

by Christoph Sorger and Manfred Lehn

A Sage library for computations in intersection theory.

#### infinite-group-relaxation-sage-code

by C.Y. Hong, M. Köppe, and Y. Zhou

Sage code for the Gomory-Johnson infinite group problem.

#### Carleman linearization of polynomial differential equations

by Marcelo Forets

#### ore_algebra

by Manuel Kauers et al.

A Sage implementation of Ore algebras and Ore polynomials.

#### ecfactory

The library implements algorithms to construct elliptic curves with certain desired properties.

#### cryptosage

by Sara Forouhar

CryptoSage provides cryptography algorithms in SageMath.

#### cutgeneratingfunctionology

by Matthias Koeppe and Yuan Zhou

Python code for computation and experimentation with cut-generating functions.

#### multipolynomial-bases

by Viviane Pons

A Sage package to work on multipolynomials bases (Schubert, Grothendieck, Key).

#### Zeta

by Tobias Rossmann

Zeta provides methods for computing local and topological zeta functions arising from the enumeration of subalgebras, ideals, submodules, representations, and conjugacy classes of suitable algebraic structures, as well as some other types of zeta functions.

#### Igusa and topological zeta

by Juan Viu-Sos

Calculation Of The (Local) Igusa And Topological Zeta Functions Of A Non-Degenerated Polynomial With Respect To His Newton'S Polyhedron.

#### admcycles

by Johannes Schmitt et alii

admcycles is a SageMath module to compute with the tautological ring of the moduli spaces of complex curves.

#### conrey-dirichlet-characters

by Jonathan Bober

This contains some Sage/Cython code for working with Dirichlet characters using a numbering scheme described by Brian Conrey.

by Stefan Wewers, Julian Rüth

A Sage toolbox for computing with Models of Curves over Local Fields.

#### Usain Boltz

by Matthieu Dien and Martin Pépin

Usain Boltz is a Python/Cython library meant to automate the random generation of tree-like structures.