sagemath_graphs: Graphs, posets, hypergraphs, designs, abstract complexes, combinatorial polyhedra, abelian sandpiles, quivers

This pip-installable package passagemath-graphs is a distribution of a part of the Sage Library. It provides a small subset of the modules of the Sage library (“sagelib”, passagemath-standard) for computations with graphs, posets, complexes, etc.

It consists of over 170 first-party Python and Cython modules and uses the Boost Graph Library, with additional functionality from NetworkX and several other libraries.

What is included

Examples

A quick way to try it out interactively:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-graphs[test]" ipython
In [1]: from sage.all__sagemath_graphs import *

In [6]: g = Graph([(1, 3), (3, 8), (5, 2)]); g
Out[6]: Graph on 5 vertices

In [7]: g.is_connected()
Out[7]: False

Available as extras, from other distributions

Libraries

pip install passagemath-graphs[benzene,buckygen,plantri] additionally make various graph generators available via passagemath-benzene, passagemath-buckygen, and passagemath-plantri.

pip install passagemath-graphs[bliss] additionally installs passagemath-bliss for the purpose of computing graph (iso/auto)morphisms.

pip install passagemath-graphs[cliquer] additionally installs passagemath-cliquer

pip install passagemath-graphs[cmr] additionally installs passagemath-cmr for recognition and decomposition algorithms for network matrices, totally unimodular matrices and regular matroids, series-parallel matroids, etc.

pip install passagemath-graphs[gap] additionally installs passagemath-gap for group-theoretic functionality.

pip install passagemath-graphs[igraph] additionally installs igraph:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-graphs[igraph,test]" ipython
In [1]: from sage.all__sagemath_graphs import *

In [2]: ## Example depending on igraph goes here

pip install passagemath-graphs[mcqd] additionally installs passagemath-mcqd

pip install passagemath-graphs[nauty] additionally installs passagemath-nauty for computing automorphism groups of graphs and digraphs.

pip install passagemath-graphs[networkx] additionally installs NetworkX:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-graphs[networkx,test]" ipython
In [1]: from sage.all__sagemath_graphs import *

In [2]: ## Example depending on networkx goes here

pip install passagemath-graphs[pari] additionally installs passagemath-pari

pip install passagemath-graphs[planarity] additionally installs passagemath-planarity for planarity testing.

pip install passagemath-graphs[rankwidth] additionally installs passagemath-rankwidth for rank width and rank decompositions.

pip install passagemath-graphs[tdlib] additionally installs passagemath-tdlib for computing tree decompositions.

Features

pip install passagemath-graphs[combinat] additionally installs passagemath-combinat

pip install passagemath-graphs[editor] additionally installs the interactive graph editor phitigra.

pip install passagemath-graphs[groups] additionally makes group-theoretic features available via passagemath-gap, passagemath-groups, and passagemath-nauty:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-graphs[groups,test]" ipython
In [1]: from sage.all__sagemath_graphs import *

In [2]: g = Graph({
            0: [1, 2],
            1: [0, 2],
            2: [0, 1, 3],
            3: [2]
        })

In [3]: aut = g.automorphism_group()

In [4]: print(aut.order())

pip install passagemath-graphs[homology] provides homological computations for abstract complexes via passagemath-modules.

pip install passagemath-graphs[mip] additionally makes the mixed-integer programming solver GLPK available via passagemath-glpk and passagemath-polyhedra (see there for other available solvers).:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-graphs[mip,test]" ipython
In [1]: from sage.all__sagemath_graphs import *

In [2]: ## Example depending on MIP goes here

pip install passagemath-graphs[modules] additionally makes linear algebra features available via passagemath-modules.

pip install passagemath-graphs[plot] additionally installs passagemath-plot.

pip install passagemath-graphs[polyhedra] additionally installs passagemath-polyhedra.

pip install passagemath-graphs[sat] additionally provides SAT features via passagemath-combinat.

pip install passagemath-graphs[standard] installs all libraries and features related to graphs that are available in a standard installation of Sage.

Development

$ git clone --origin passagemath https://github.com/passagemath/passagemath.git
$ cd passagemath
passagemath $ ./bootstrap
passagemath $ python3 -m venv graphs-venv
passagemath $ source graphs-venv/bin/activate
(graphs-venv) passagemath $ pip install -v -e pkgs/sagemath-graphs

Type

standard

Dependencies

Version Information

package-version.txt:

10.6.3

version_requirements.txt:

passagemath-graphs ~= 10.6.3.0

Equivalent System Packages

(none known)