Differences between revisions 1 and 82 (spanning 81 versions)
Revision 1 as of 2016-05-06 23:18:54
Size: 4163
Editor: slelievre
Comment: Initial list of SageMath external packages
Revision 82 as of 2021-10-04 08:03:58
Size: 17994
Editor: chapoton
Comment: oups
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.

They come in various forms (spkg, pip-installable packages, etc).

Feel free to add more packages, and to add a few notes about each.

This list can be used to add examples to the
`Code Sharing Workflow <https://wiki.sagemath.org/CodeSharingWorkflow>`_ wiki page.

Note also Chris Swierczewski's
`Template for creating Sage packages <https://github.com/cswiercz/sage_packages>`_.

Packages
========

`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>`
--------------------------------------------------------------------------
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/>`_.

- `Meta-ticket #31164 <https://trac.sagemath.org/ticket/31164>`_ tracks the task of adding packages from this list to Sage so that they appear in the spkg section of the Sage reference manual.

- Use this list to add examples to the
  `Code Sharing Workflow <https://wiki.sagemath.org/CodeSharingWorkflow>`_ wiki page.

- Note also Chris Swierczewski's
  `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``

-------------------------
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

`Modular Abelian Varieties <https://github.com/williamstein/sage_modabvar>`_
-----------------------------------------------------------------------------
Line 49: Line 80:
  A Library of Number Theory Code that depends on Sage.
Line 57: Line 90:
  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.
  (added to Sage in https://trac.sagemath.org/ticket/31237)
Line 69: Line 97:
  A Sage Library of Combinatorial Hopf algebras.
Line 74: Line 104:
  A semigroup (representation) theory library for SageMath.
Line 75: Line 107:

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

  by Charles Paperman
Line 101: Line 138:
`flatsurf: flat surfaces <http://www.labri.fr/perso/vdelecro/flatsurf.html>`_
-----------------------------------------------------------------------------
`surface-dynamics: flat surfaces <http://www.labri.fr/perso/vdelecro/flatsurf.html>`_
---------------------------------------------------------------------------------------
Line 105: Line 142:

  (added to Sage in https://trac.sagemath.org/ticket/31224)
Line 111: Line 150:
  (added to Sage in https://trac.sagemath.org/ticket/31240)
Line 126: Line 167:
 * does not work on latest versions of SageMath, see https://github.com/coulbois/sage-train-track/pull/15
 * ticket to add to Sage: https://trac.sagemath.org/ticket/31223

`Flagmatic <https://github.com/emil79/flagmatic>`_
--------------------------------------------------

  by Emil R. Vaughan

  A tool for researchers in extremal graph theory

  (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.

  (added to Sage in https://trac.sagemath.org/ticket/31239)

`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

  (added to Sage in https://trac.sagemath.org/ticket/31235)

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

  by Viviane Pons

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

  (added to Sage in https://trac.sagemath.org/ticket/31416)

`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.

  (Check also `zetalib <https://pypi.org/project/zetalib>`_, a fork which can be installed from PyPI)

`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.

  (added to Sage in https://trac.sagemath.org/ticket/31238)

`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

  (added to Sage in https://trac.sagemath.org/ticket/31235)

`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/

`msinvar <https://github.com/smzg/msinvar>`_
--------------------------------------------

  by Sergey Mozgovoy

  A package for computations of moduli space invariants.

`phitigra <https://gitlab.limos.fr/jfraymon/phitigra>`_
-------------------------------------------------------

  by Jean-Florent Raymond

  a graph editor for SageMath as a Jupyter widget
  
Brocoli
-------

  by Jean-Philippe Labbé

  Package dealing with LImit ROots of COxeter groups (eternal Beta version)

  - home: http://page.mi.fu-berlin.de/labbe/pages/brocoli.html
  - docs-html: https://jplab.github.io/brocoli/doc/html
  - docs-pdf: http://page.mi.fu-berlin.de/labbe/pdfs/brocoli.pdf
  - gallery: http://page.mi.fu-berlin.de/labbe/gallery.html
  - repo: https://github.com/jplab/brocoli

`sagemath-polytope-tikz <http://page.mi.fu-berlin.de/labbe/polytope.html>`_
---------------------------------------------------------------------------

  by Jean-Philippe Labbé

`SFBpresentation <https://github.com/jplab/SFBpresentation>`_
-------------------------------------------------------------

  by Jean-Philippe Labbé
  
`FlexRiLog <https://github.com/Legersky/flexrilog>`_
----------------------------------------------------

  by Jan Legerský

`cvolume <https://github.com/eduryev/cvolume>`_
-----------------------------------------------

  by Eduard Duryev

  Compute completed volumes of strata of quadratic differentials with odd zeros
  
`dual-pairs <https://gitlab.com/pbruin/dual-pairs>`_
----------------------------------------------------

  by Peter Bruin

`harmonic-modules <https://github.com/nthiery/harmonic-modules>`_
-----------------------------------------------------------------

  by Nicolas Thiéry

`sherali_adams <https://pypi.org/project/sherali-adams/>`_
----------------------------------------------------------

  by Matthew Drescher

  Run Sherali-Adams relaxation on a system of the form Ax <= b represented by raw numpy matrix A and array b

`badic <https://pypi.org/project/badic/>`_
-------------------------------------------

  by Paul Mercat

  Beta-adic tools and automata

`dd_functions <https://github.com/Antonio-JP/dd_functions>`_
------------------------------------------------------------

  by Antonio Jiménez-Pastor

  computation with DD-finite functions


`sage_cluster_pictures <https://github.com/alexjbest/cluster-pictures>`_
------------------------------------------------------------------------

  by Alex J. Best and Raymond van Bommel

  cluster pictures, BY-trees, models and local invariants of hyperelliptic curves


`adeles <https://github.com/mathehertogh/adeles>`_
----------------------------------------------------------------------------

  by Mathé Hertogh

  Computing with adèles and idèles

`Hodge diamond cutter <https://github.com/pbelmans/hodge-diamond-cutter>`_
----------------------------------------------------------------------------

  by Pieter Belmans

  Computing with Hodge diamonds (and Hochschild homology) of smooth projective varieties


--------
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>`_
- `Packages on gitlab matching "sagemath" <https://gitlab.com/search?search=sagemath>`_
- `Packages on Google Code Archive with tag "SAGE" <https://code.google.com/archive/search?q=domain:code.google.com%20label:SAGE>`_
- `Packages on Bitbucket matching "sagemath" <https://bitbucket.org/repo/all?name=sagemath>`_

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

(added to Sage in https://trac.sagemath.org/ticket/31237)

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

(added to Sage in https://trac.sagemath.org/ticket/31224)

sage-flatsurf: flat surfaces

by Vincent Delecroix and Pat Hooper

(added to Sage in https://trac.sagemath.org/ticket/31240)

Sage train track

by Thierry Coulbois

Flagmatic

by Emil R. Vaughan

A tool for researchers in extremal graph theory

(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.

(added to Sage in https://trac.sagemath.org/ticket/31239)

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

(added to Sage in https://trac.sagemath.org/ticket/31235)

multipolynomial-bases

by Viviane Pons

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

(added to Sage in https://trac.sagemath.org/ticket/31416)

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.

(Check also zetalib, a fork which can be installed from PyPI)

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.

(added to Sage in https://trac.sagemath.org/ticket/31238)

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

(added to Sage in https://trac.sagemath.org/ticket/31235)

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.

msinvar

by Sergey Mozgovoy

A package for computations of moduli space invariants.

phitigra

by Jean-Florent Raymond

a graph editor for SageMath as a Jupyter widget

Brocoli

by Jean-Philippe Labbé

Package dealing with LImit ROots of COxeter groups (eternal Beta version)

sagemath-polytope-tikz

by Jean-Philippe Labbé

SFBpresentation

by Jean-Philippe Labbé

FlexRiLog

by Jan Legerský

cvolume

by Eduard Duryev

Compute completed volumes of strata of quadratic differentials with odd zeros

dual-pairs

by Peter Bruin

harmonic-modules

by Nicolas Thiéry

sherali_adams

by Matthew Drescher

Run Sherali-Adams relaxation on a system of the form Ax <= b represented by raw numpy matrix A and array b

badic

by Paul Mercat

Beta-adic tools and automata

dd_functions

by Antonio Jiménez-Pastor

computation with DD-finite functions

sage_cluster_pictures

by Alex J. Best and Raymond van Bommel

cluster pictures, BY-trees, models and local invariants of hyperelliptic curves

adeles

by Mathé Hertogh

Computing with adèles and idèles

Hodge diamond cutter

by Pieter Belmans

Computing with Hodge diamonds (and Hochschild homology) of smooth projective varieties

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