sagemath_latte_4ti2: Lattice points in polyhedra with LattE integrale and 4ti2¶
This pip-installable source distribution passagemath-latte-4ti2
provides an interface
to LattE integrale
(for the problems of counting lattice points in and integration over convex polytopes)
and 4ti2
(for algebraic, geometric and combinatorial problems on linear spaces).
What is included¶
Raw access to all executables from Python using sage.features.latte and sage.features.four_ti_2
The binary wheels published on PyPI include a prebuilt copy of LattE integrale and 4ti2.
Examples¶
Using LattE integrale and 4ti2 programs on the command line:
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-latte-4ti2" sage -sh -c 'ppi 5'
...
### This makes 47 PPI up to sign
### Writing data file ppi5.gra and matrix file ppi5.mat done.
Finding the installation location of a LattE integrale or 4ti2 program in Python:
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-latte-4ti2[test]" ipython
In [1]: from sage.features.latte import Latte_count
In [2]: Latte_count().absolute_filename()
Out[2]: '/Users/mkoeppe/.local/pipx/.cache/2dc147a5e4863b4/lib/python3.11/site-packages/sage_wheels/bin/count'
In [3]: from sage.features.four_ti_2 import FourTi2Executable
In [4]: FourTi2Executable('ppi').absolute_filename()
Out[2]: '/Users/mkoeppe/.local/pipx/.cache/2dc147a5e4863b4/lib/python3.11/site-packages/sage_wheels/bin/ppi'
Using the low-level Python interfaces:
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-latte-4ti2[test]" ipython
In [1]: from sage.interfaces.latte import count
In [2]: cdd_Hrep = 'H-representation\nbegin\n 6 4 rational\n 2 -1 0 0\n 2 0 -1 0\n 2 0 0 -1\n 2 1 0 0\n 2 0 0 1\n 2 0 1 0\nend\n'
In [3]: count(cdd_Hrep, cdd=True)
Out[3]: 125
Use with sage.geometry.polyhedron:
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-latte-4ti2[test]" ipython
In [1]: from sage.all__sagemath_polyhedra import *
In [2]: P = Polyhedron(vertices=[[1,0,0], [0,0,1], [-1,1,1], [-1,2,0]])
In [3]: P.volume(measure='induced_lattice', engine='latte')
Out[3]: 3
Type¶
optional
Dependencies¶
Version Information¶
package-version.txt:
10.6.3
version_requirements.txt:
passagemath-latte-4ti2 ~= 10.6.3.0
Equivalent System Packages¶
(none known)