5492
Comment:
|
18845
+1
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | 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/>`_. - `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 |
Line 15: | Line 19: |
`Creating External Sage Packages <https://gist.github.com/cswiercz/c632d920565a2da519b73bd2b79d7920>`_ and `Template for creating Sage packages <https://github.com/cswiercz/sage_packages>`_. - With the `SageMath sample package <https://github.com/nthiery/sage_sample>`_ you |
`Creating External Sage Packages <https://gist.github.com/cswiercz/c632d920565a2da519b73bd2b79d7920>`_. - With the `SageMath sample package <https://github.com/sagemath/sage_sample>`_ you |
Line 21: | Line 24: |
See also - `Packages on PyPI matching 'sagemath' <https://pypi.python.org/pypi?%3Aaction=search&term=sagemath&submit=search>`_ - `Sage-wiki page for SPKGs <https://wiki.sagemath.org/spkg>`_ |
- 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. - See `Sage Trac: Surveying the mathematical software landscape <https://trac.sagemath.org/wiki/WikiStart#Surveyingthemathematicalsoftwarelandscape>`_ --------------- 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 31: | Line 56: |
`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 46: | Line 77: |
`Purple Sage <https://github.com/williamstein/psage>`_ | `Purple Sage <https://github.com/fredstro/psage>`_ |
Line 49: | Line 80: |
by William Stein | by William Stein, Fredrik Stromberg, Stephan Ehlen, Martin Raum and others A Library of Number Theory Code that depends on Sage. |
Line 59: | Line 92: |
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. |
(added to Sage in https://trac.sagemath.org/ticket/31237) |
Line 72: | Line 99: |
A Sage Library of Combinatorial Hopf algebras. |
|
Line 77: | Line 106: |
A semigroup (representation) theory library for SageMath. |
|
Line 79: | Line 110: |
`Automata and semigroups <https://www.irif.univ-paris-diderot.fr/~paperman/index.php?page=sage>`_ | `Automata and semigroups <https://paperman.name/soft/>`_ |
Line 109: | Line 140: |
`flatsurf: flat surfaces <http://www.labri.fr/perso/vdelecro/flatsurf.html>`_ ----------------------------------------------------------------------------- |
`surface-dynamics: flat surfaces <http://www.labri.fr/perso/vdelecro/flatsurf.html>`_ --------------------------------------------------------------------------------------- |
Line 113: | Line 144: |
(added to Sage in https://trac.sagemath.org/ticket/31224) |
|
Line 119: | Line 152: |
(added to Sage in https://trac.sagemath.org/ticket/31240) |
|
Line 134: | Line 169: |
* 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 |
|
Line 139: | Line 177: |
A tool for researchers in extremal graph theory |
|
Line 148: | Line 188: |
`infinite-group-relaxation-sage-code <https://github.com/mkoeppe/infinite-group-relaxation-code>`_ | `Carleman linearization of polynomial differential equations <https://github.com/mforets/carlin>`_ |
Line 151: | Line 191: |
by C.Y. Hong, M. Köppe, and Y. Zhou Sage code for the Gomory-Johnson infinite group problem. |
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://github.com/jfraymond/phitigra>`_ ------------------------------------------------------- by Jean-Florent Raymond a graph editor for SageMath as a Jupyter widget (added to Sage in https://trac.sagemath.org/ticket/30540) 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 `Hilbert modular groups <https://github.com/fredstro/hilbertmodgroup>`_ ---------------------------------------------------------------------------- by Fredrik Stromberg Computing with Hilbert modular groups and, in particular, implements a reduction algorithm. `gcaops: Graph Complex Action on Poisson Structures <https://github.com/rburing/gcaops>`_ ------------------------------------------------------------------------------------------- by Ricardo Buring Package implementing the action of Kontsevich's graph complex(es) on Poisson structures. -------- 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).
- 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.
- Meta-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 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.
- See an April 2020 sage-devel thread on CI infrastructure options for external Sage packages.
- See Sage Trac: Surveying the mathematical software landscape
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
Modular Abelian Varieties
by William Stein and Hao Chen
Links:
Python implementation of chebfun
by Chris Swierczewski
Purple Sage
by William Stein, Fredrik Stromberg, Stephan Ehlen, Martin Raum and others
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
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.
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)
Lyapunov exponents for multidimensional continued fractions
by Vincent Delecroix and Sébastien Labbé
Links:
Sage train track
by Thierry Coulbois
- 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
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.
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.
(added to Sage in https://trac.sagemath.org/ticket/31239)
ecfactory
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.
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
(added to Sage in https://trac.sagemath.org/ticket/30540)
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
Hilbert modular groups
by Fredrik Stromberg
Computing with Hilbert modular groups and, in particular, implements a reduction algorithm.
gcaops: Graph Complex Action on Poisson Structures
by Ricardo Buring
Package implementing the action of Kontsevich's graph complex(es) on Poisson structures.