Differences between revisions 4 and 68 (spanning 64 versions)
Revision 4 as of 2016-05-07 09:17:10
Size: 4385
Editor: dimpase
Comment:
Revision 68 as of 2021-01-14 14:50:51
Size: 13620
Editor: vdelecroix
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 6: Line 7:
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
A list of external packages for SageMath (spkg, pip-installable packages, etc).

- Feel free to add more packages, links, notes. But please do not duplicate information
  that is already available in the
  `spkg section of the Sage reference manual <https://doc.sagemath.org/html/en/reference/spkg/>`_.

- Use this list to add examples to the
Line 15: Line 17:
  `Template for creating Sage packages <https://github.com/cswiercz/sage_packages>`_.   `Creating External Sage Packages <https://gist.github.com/cswiercz/c632d920565a2da519b73bd2b79d7920>`_.

- With the `SageMath sample package <https://github.com/sagemath/sage_sample>`_ you
  will find a minimal example of a Sage package.

- See an `April 2020 sage-devel thread <https://groups.google.com/d/msg/sage-devel/jOD5QaGAfHs/og91glYsAwAJ>`_
  on CI infrastructure options for external Sage packages.

---------------
New-style SPKGs
---------------

The single authoritative source for the packages integrated in the Sage distribution (SPKGs) is
the `SAGE_ROOT/build/pkgs/ <https://git.sagemath.org/sage.git/tree/build/pkgs>`_ directory.
Each SPKG is represented by a subdirectory. The structure
of these subdirectories is explained in
the `Developer's Guide <https://doc.sagemath.org/html/en/developer/packaging.html>`_.

Since Sage 9.2, the `spkg section of the Sage reference manual <https://doc.sagemath.org/html/en/reference/spkg/>`_ is automatically generated from the information in ``SAGE_ROOT/build/pkgs/``. (`Trac #29655 <https://trac.sagemath.org/ticket/29655>`_ improves the formatting of this information.)

Use the following shell commands below to access the information from the `SAGE_ROOT/build/pkgs`
directory of your copy of Sage:

 * Standard packages: ``./sage -standard``
 * Installed packages: ``./sage -installed``
 * Optional packages available: ``./sage -optional``
 * Experimental packages available: ``./sage -experimental``
 * Details about an SPKG: ``./sage -info <SPKG>``

For some advanced package tools, use ``./sage -package``
Line 21: Line 52:
`SageManifolds <http://sagemanifolds.obspm.fr/>`_
-------------------------------------------------

  by Éric Gourgoulhon et al

  cf. the metaticket
  `#18528 <http://trac.sagemath.org/ticket/18528>`_

`Modular Abelian Varities <https://github.com/williamstein/sage_modabvar>`_
---------------------------------------------------------------------------
These packages are not (yet?) integrated in the SageMath distribution
as SPKGs and have to be installed separately.

See also https://github.com/slel/external-packages
for another collection

`Modular Abelian Varieties <https://github.com/williamstein/sage_modabvar>`_
-----------------------------------------------------------------------------
Line 49: Line 78:
  A Library of Number Theory Code that depends on Sage.
Line 57: Line 88:
  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.
Line 69: Line 94:
  A Sage Library of Combinatorial Hopf algebras.
Line 74: Line 101:
  A semigroup (representation) theory library for SageMath.
Line 75: Line 104:

`Automata and semigroups <https://paperman.name/soft/>`_
-------------------------------------------------------------------------------------------------

  by Charles Paperman
Line 101: Line 135:
`flatsurf: flat surfaces <http://www.labri.fr/perso/vdelecro/flatsurf.html>`_
-----------------------------------------------------------------------------
`surface-dynamics: flat surfaces <http://www.labri.fr/perso/vdelecro/flatsurf.html>`_
---------------------------------------------------------------------------------------
Line 126: Line 160:
 * does not work on latest versions of SageMath, see https://github.com/coulbois/sage-train-track/pull/15
Line 131: Line 167:
  (it is a subject of a GSoC 2016 project to port it to the current Sage)   (it is a subject of a GSoC 2016 project to `port it to Sage 7.4 <https://github.com/jsliacan/flagmatic>`_)

`Chow <http://www.math.sciences.univ-nantes.fr/~sorger/chow_en.html>`_
----------------------------------------------------------------------

  by Christoph Sorger and Manfred Lehn

  A Sage library for computations in intersection theory.

`Carleman linearization of polynomial differential equations <https://github.com/mforets/carlin>`_
--------------------------------------------------------------------------------------------------

  by Marcelo Forets

`ore_algebra <https://github.com/mkauers/ore_algebra>`_
-------------------------------------------------------

  by Manuel Kauers et al.

  A Sage implementation of Ore algebras and Ore polynomials.

`ecfactory <https://github.com/scipr-lab/ecfactory>`_
-------------------------------------------------------

  by http://www.scipr-lab.org/

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

`cryptosage <https://github.com/sara62/cryptosage>`_
-------------------------------------------------------

  by Sara Forouhar

  CryptoSage provides cryptography algorithms in SageMath.

`cutgeneratingfunctionology <https://github.com/mkoeppe/cutgeneratingfunctionology>`_ (formerly infinite-group-relaxation-sage-code)
------------------------------------------------------------------------------------------------------------------------------------

  by Matthias Köppe, Yuan Zhou, C. Y. Hong, and Jiawei Wang

  Python code for computation and experimentation with cut-generating functions, in particular the Gomory-Johnson model

`multipolynomial-bases <https://github.com/VivianePons/multipolynomial-bases>`_
--------------------------------------------------------------------------------------

  by Viviane Pons

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

`Zeta <http://www.maths.nuigalway.ie/~rossmann/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 <https://jviusos.github.io/sage.html>`_
--------------------------------------------------------------------

  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 <https://gitlab.com/jo314schmitt/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 <https://github.com/jwbober/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.

`MCLF <https://github.com/mclf/mclf>`_

  by Stefan Wewers, Julian Rüth

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

`Usain Boltz <https://gitlab.com/ParComb/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.

`addcombq <https://github.com/Torrencem/addcombq>`_
-------------------------------------------------------

  by Matt Torrence

  This is a Sage package for fast Additive Combinatorics functions.

`sage-numerical-interactive-mip <https://github.com/mkoeppe/sage-numerical-interactive-mip>`_
---------------------------------------------------------------------------------------------

  by Peijun Xiao, Zeyi Wang, and Yuan Zhou

  Interactive mixed integer linear programming solver

`ResSing <https://trac.sagemath.org/ticket/28651>`_
---------------------------------------------------

  by Suchandan Pal

  This is a package for calculating regular models of curves.

`Yacop <https://github.com/cnassau/yacop-sage>`_
------------------------------------------------

  by Christian Nassau

  Sage package for Steenrod algebra cohomology.

`Torus Knots Counter <https://github.com/AngelGonzalezPrieto/TorusKnotsCounter>`_
---------------------------------------------------------------------------------

  by Ángel González-Prieto (Universidad Politécnica de Madrid) and Vicente Muñoz (Universidad de Málaga).

  SageMath script that computes the motive of the irreducible SL(r,k)-character variety of an (n,m)-torus knot

`fgb_sage <https://github.com/mwageringel/fgb_sage>`_
-----------------------------------------------------

  by Markus Wageringel

  Sage interface for computing Gröbner bases with FGb.

`guptri_py <https://github.com/mwageringel/guptri_py>`_
-------------------------------------------------------

  by Markus Wageringel

  Sage/NumPy interface for solving generalized eigenvalue problems of singular matrix pencils with GUPTRI.

`comb_walk <https://discretewalks.gitlabpages.inria.fr/comb_walks/docs/>`_
---------------------------------------------------------------------------

  by Frédéric Chyzak, Antonio Jiménez-Pastor, Pierre Lairez

  A unified interface for working with generating functions and related object to Walks in the Quarter Plane.


`StarProducts <https://bitbucket.org/bpym/starproducts/src/master/>`_
---------------------------------------------------------------------

  by Peter Banks and Brent Pym

  A package for symbolic calculations with Poisson brackets and Kontsevich's deformation quantization formula

`sage-drg <https://github.com/jaanos/sage-drg>`_
------------------------------------------------

  by Janos Vidali

  A package for checking the feasibility of distance-regular graph parameter sets.

`kerrgeodesic_gw <https://github.com/BlackHolePerturbationToolkit/kerrgeodesic_gw>`_
------------------------------------------------------------------------------------

  by Eric Gourgoulhon, Alexandre Le Tiec, Frédéric H. Vincent and Niels Warburton

  A pip-installable SageMath package for computing geodesics of the Kerr spacetime
  as well as gravitational waves from bodies orbiting a Kerr black hole

stallings_graphs
----------------

  by Pascal Weil

  A pip-installable SageMath package to experiment with finitely generated subgroups of infinite groups.

  - https://www.labri.fr/perso/weil/software/version-0-2/html/
  - https://pypi.org/project/stallings-graphs/

--------
See also
--------

- `Packages on PyPI matching 'sagemath'
  <https://pypi.org/search/?q=sagemath>`_
- `Packages on PyPI matching 'sage' and Mathematics <https://pypi.org/search/?q=sage&o=&c=Topic+%3A%3A+Scientific%2FEngineering+%3A%3A+Mathematics>`_
- `Packages on PyPI matching 'sage' and Science <https://pypi.org/search/?q=sage&o=&c=Intended+Audience+%3A%3A+Science%2FResearch>`_
- `Packages on github matching "Sage code" <https://github.com/search?q=%22Sage+code%22>`_

SageMath external packages

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

New-style SPKGs

The single authoritative source for the packages integrated in the Sage distribution (SPKGs) is the SAGE_ROOT/build/pkgs/ directory. Each SPKG is represented by a subdirectory. The structure of these subdirectories is explained in the Developer's Guide.

Since Sage 9.2, the spkg section of the Sage reference manual is automatically generated from the information in SAGE_ROOT/build/pkgs/. (Trac #29655 improves the formatting of this information.)

Use the following shell commands below to access the information from the SAGE_ROOT/build/pkgs directory of your copy of Sage:

  • Standard packages: ./sage -standard
  • Installed packages: ./sage -installed
  • Optional packages available: ./sage -optional
  • Experimental packages available: ./sage -experimental
  • Details about an SPKG: ./sage -info <SPKG>

For some advanced package tools, use ./sage -package

List of external packages

These packages are not (yet?) integrated in the SageMath distribution as SPKGs and have to be installed separately.

See also https://github.com/slel/external-packages for another collection

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

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

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.

surface-dynamics: flat surfaces

by Vincent Delecroix and Samuel Lelièvre

sage-flatsurf: flat surfaces

by Vincent Delecroix and Pat Hooper

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.

ore_algebra

by Manuel Kauers et al.

A Sage implementation of Ore algebras and Ore polynomials.

ecfactory

by http://www.scipr-lab.org/

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

cryptosage

by Sara Forouhar

CryptoSage provides cryptography algorithms in SageMath.

cutgeneratingfunctionology (formerly infinite-group-relaxation-sage-code)

by Matthias Köppe, Yuan Zhou, C. Y. Hong, and Jiawei Wang

Python code for computation and experimentation with cut-generating functions, in particular the Gomory-Johnson model

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.

MCLF

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.

addcombq

by Matt Torrence

This is a Sage package for fast Additive Combinatorics functions.

sage-numerical-interactive-mip

by Peijun Xiao, Zeyi Wang, and Yuan Zhou

Interactive mixed integer linear programming solver

ResSing

by Suchandan Pal

This is a package for calculating regular models of curves.

Yacop

by Christian Nassau

Sage package for Steenrod algebra cohomology.

Torus Knots Counter

by Ángel González-Prieto (Universidad Politécnica de Madrid) and Vicente Muñoz (Universidad de Málaga).

SageMath script that computes the motive of the irreducible SL(r,k)-character variety of an (n,m)-torus knot

fgb_sage

by Markus Wageringel

Sage interface for computing Gröbner bases with FGb.

guptri_py

by Markus Wageringel

Sage/NumPy interface for solving generalized eigenvalue problems of singular matrix pencils with GUPTRI.

comb_walk

by Frédéric Chyzak, Antonio Jiménez-Pastor, Pierre Lairez

A unified interface for working with generating functions and related object to Walks in the Quarter Plane.

StarProducts

by Peter Banks and Brent Pym

A package for symbolic calculations with Poisson brackets and Kontsevich's deformation quantization formula

sage-drg

by Janos Vidali

A package for checking the feasibility of distance-regular graph parameter sets.

kerrgeodesic_gw

by Eric Gourgoulhon, Alexandre Le Tiec, Frédéric H. Vincent and Niels Warburton

A pip-installable SageMath package for computing geodesics of the Kerr spacetime as well as gravitational waves from bodies orbiting a Kerr black hole

stallings_graphs

by Pascal Weil

A pip-installable SageMath package to experiment with finitely generated subgroups of infinite groups.

SageMathExternalPackages (last edited 2024-03-04 00:39:32 by mkoeppe)