passagemath: Convex polyhedra in arbitrary dimension, mixed integer linear optimization
Project description
About SageMath
- “Creating a Viable Open Source Alternative to
Magma, Maple, Mathematica, and MATLAB”
Copyright (C) 2005-2024 The Sage Development Team
SageMath fully supports all major Linux distributions, recent versions of macOS, and Windows (Windows Subsystem for Linux).
See https://doc.sagemath.org/html/en/installation/index.html for general installation instructions.
About this pip-installable source distribution
This pip-installable source distribution passagemath-polyhedra 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), sufficient for computations with convex polyhedra in arbitrary dimension (in exact rational arithmetic), and linear and mixed integer linear optimization (in floating point arithmetic).
What is included
Combinatorial and Discrete Geometry: Polyhedra, lattice polyhedra, lattice points in polyhedra, triangulations, fans, polyhedral complexes, hyperplane arrrangements
Parma Polyhedra Library (PPL) backends for rational polyhedra, lattice polygons, lattice polytopes; via pplpy
Linear, Mixed Integer Linear, and Semidefinite Optimization frontends
see https://github.com/passagemath/passagemath/blob/main/pkgs/sagemath-polyhedra/MANIFEST.in
Examples
A quick way to try it out interactively:
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-polyhedra[test]" ipython In [1]: from sage.all__sagemath_polyhedra import *
Available as extras, from other distributions
Additional features:
- pip install “passagemath-polyhedra[graphs]”
Face lattices, combinatorial polyhedra, graph-theoretic constructions
- pip install “passagemath-polyhedra[groups]”
Constructing symmetric polyhedra, computing automorphisms, lattice point counting modulo group actions
- pip install “passagemath-polyhedra[toric]”
Other backends for polyhedral computations can be installed:
- pip install “passagemath-polyhedra[normaliz]”
Normaliz, via PyNormaliz, provides very fast computations in particular for polyhedra with data in algebraic number fields.
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-polyhedra[normaliz,test]" ipython In [1]: from sage.all__sagemath_polyhedra import * In [2]: gap_norm = polytopes.grand_antiprism(backend='normaliz'); gap_norm In [3]: gap_norm.f_vector()
- pip install “passagemath-polyhedra[cddlib]”
cddlib provides support for computations with polyhedra in floating-point arithmetic.
passagemath-polyhedra also provides integration with other packages for additional functionality:
pip install “passagemath-polyhedra[latte]” installs LattE integrale for lattice point counting and volume computation using generating functions.
$ pipx run --pip-args="--prefer-binary" --spec "passagemath-polyhedra[latte,test]" ipython In [1]: from sage.all__sagemath_polyhedra import * In [2]: P = polytopes.cube() In [3]: P.integral_points_count() Out[3]: 27 In [4]: (1000000000*P).integral_points_count(verbose=True) This is LattE integrale... ... Total time:... Out[4]: 8000000012000000006000000001
Optional backends for optimization:
- pip install “passagemath-polyhedra[cbc]”
COIN/OR CBC Mixed Integer Linear Optimization solver, via sage_numerical_backends_coin
- pip install “passagemath-polyhedra[cplex]”
CPLEX Mixed Integer Optimization solver (proprietary; requires licensed installation), via sage_numerical_backends_cplex
- pip install “passagemath-polyhedra[cvxpy]”
CVXPy as middle-end for various backends
- pip install “passagemath-polyhedra[gurobi]”
Gurobi Mixed Integer Optimization solver (proprietary; requires licensed installation), via sage_numerical_backends_gurobi
- pip install “passagemath-polyhedra[scip]”
Development
$ git clone --origin passagemath https://github.com/passagemath/passagemath.git $ cd passagemath passagemath $ ./bootstrap passagemath $ python3 -m venv polyhedra-venv passagemath $ source polyhedra-venv/bin/activate (polyhedra-venv) passagemath $ pip install -v -e pkgs/sagemath-polyhedra
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file passagemath_polyhedra-10.4.58.tar.gz
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58.tar.gz
- Upload date:
- Size: 986.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4184484fdd3d93f093b5b6d7ec617b3cf5e0685ac123afa2349d94b8cdf140a9 |
|
MD5 | 834804796f5cd7da129ece63fc961f3b |
|
BLAKE2b-256 | 4e69a9fd512d56b77bb6e899f607a7297a6f89520a5b9d9be08cedd1ffc3611e |
File details
Details for the file passagemath_polyhedra-10.4.58-cp312-cp312-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 13.3 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d9d184e88e8aa91d4a2fd7a12a29c54477516d07b7dc9c431e8a627bda8a227 |
|
MD5 | 2740c0d7cc2ae59a100b76b089d437e4 |
|
BLAKE2b-256 | 54d1e8f921a47c6f73ffcf645d5d062754282ae2d3d463d62b5fcf7f55ba2adc |
File details
Details for the file passagemath_polyhedra-10.4.58-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 12.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91a48061888d523f7e46d75450344a9daaf47726f4e7398d1f730e6ac6c23667 |
|
MD5 | 03c76829661bd4d8483273af34601920 |
|
BLAKE2b-256 | 6d312edfc3ab052e5a14e6c7ec66266b4ab87d67e044edd7be582ac8cfafa23b |
File details
Details for the file passagemath_polyhedra-10.4.58-cp312-cp312-macosx_14_0_arm64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp312-cp312-macosx_14_0_arm64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.12, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f643b5d7d9f60fe04c723ab398c6aa284ec3c00901ba14b2888b9553e704a557 |
|
MD5 | df9603c6be24e8dfe2382391b75fdaef |
|
BLAKE2b-256 | 5f8935b3336c819f689133c677bfcce99c0e2a216f2785ef015aeb34f9e94fb0 |
File details
Details for the file passagemath_polyhedra-10.4.58-cp312-cp312-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp312-cp312-macosx_13_0_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.12, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e362c9af6a8e501344e7d2e56dc00b95de1acaace9a3b8fa18e57ab146ffcc73 |
|
MD5 | 8cd7a6fac674022284ec7a52a19fe646 |
|
BLAKE2b-256 | 7bb6610fa163b602605fb1117c405823b0edb2827e318eec2a2614e8af45147f |
File details
Details for the file passagemath_polyhedra-10.4.58-cp311-cp311-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 13.5 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48b6192f5d9759cbb82515321f2100e3efd18bd590bbc9c98fa4e3cdea05b260 |
|
MD5 | ce23e0a11f4da90c7c396954b0978bde |
|
BLAKE2b-256 | c2f556709fbf4daca4ab9f9f2164e1eb855ef5f74c1353b821e7cabd762389a0 |
File details
Details for the file passagemath_polyhedra-10.4.58-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 12.5 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e359c34e0e87b3cfb07bdc187ff94389bbfc7a3c499479f58fe55cbc3470811 |
|
MD5 | 15b14dd038b22c464a2afa5e234f21e8 |
|
BLAKE2b-256 | 7080fb17956cc2e5249ee69943447e61b9225447c6f93089a3c9080ec74bf01b |
File details
Details for the file passagemath_polyhedra-10.4.58-cp311-cp311-macosx_14_0_arm64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp311-cp311-macosx_14_0_arm64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.11, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c9c2a68c0bcddc43f7f1134534f56f84e0ee37a27bd7c05a85fe77c247e8db9 |
|
MD5 | c99f7ea7617bce12736193a27aeb300f |
|
BLAKE2b-256 | 1deabba8ecd3014c33c57f72fe95a6cd798433b2fafac2d7d0ecf7c482fafcf0 |
File details
Details for the file passagemath_polyhedra-10.4.58-cp311-cp311-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp311-cp311-macosx_13_0_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.11, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cefad929f4a9abad2e21b41805a5e8e818a0d1e73b59cf1d8a1165b274dfc35c |
|
MD5 | 71acf3c1d5d4dd308ec27432dd2b41e8 |
|
BLAKE2b-256 | 3297962c127e7a87a421ab7aa10b074c8f72af5948d6d3d936158f893e53e9e4 |
File details
Details for the file passagemath_polyhedra-10.4.58-cp310-cp310-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 12.8 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | edd667185d9520656dac97cbaeaedd1256317b4634f2e34eaa3d30bf6fbc5259 |
|
MD5 | 730cda261fdd8bd0c88c5662ba3fcdc8 |
|
BLAKE2b-256 | 775ec523d02e212c740f99143f98fd957868cf0db47bb546371661b8edd96af8 |
File details
Details for the file passagemath_polyhedra-10.4.58-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 11.8 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37c7e0f5187c05c918efa2fe2108c0d02cfeca581c9b5570cf10e5a25d46104d |
|
MD5 | 02046c3f85f66f59686999ff67730bde |
|
BLAKE2b-256 | 41c7915c7b1ecaf45ca7983aecdce0b99ec365322cd4414115a699366852a753 |
File details
Details for the file passagemath_polyhedra-10.4.58-cp310-cp310-macosx_14_0_arm64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp310-cp310-macosx_14_0_arm64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.10, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0368cb5857630d570d7ead5d62f01e0bb31e5c83d6898e07327a4aa8fbd7c560 |
|
MD5 | 1d0c6a1d0e66e6328e895a1ecaf8cf59 |
|
BLAKE2b-256 | e06c0e690855f2eaf4748c185029a984f556ee5ab9f0f17b96a054dca448fd8c |
File details
Details for the file passagemath_polyhedra-10.4.58-cp310-cp310-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp310-cp310-macosx_13_0_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.10, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93495f493d74affc1751f839d50e344b3ed294a1afb1811b618126c264431332 |
|
MD5 | da182cff1ba30c61f62da96c689ff74a |
|
BLAKE2b-256 | d1a047988ca7bb1ac7c0b00b9b08c0722bf1a0a91a8afd932df7cef1555c301c |
File details
Details for the file passagemath_polyhedra-10.4.58-cp39-cp39-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 12.8 MB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f4b8886ca62ec98f5eb6e317671975d8956f6ada3714238580f76748d4c59db |
|
MD5 | 75f859ddef87904c39b90eb2fd34b242 |
|
BLAKE2b-256 | effaf8cec9adcf69ccf2d70688949fbbca71156444eac86e2960780e329f1ef7 |
File details
Details for the file passagemath_polyhedra-10.4.58-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 11.8 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d4b74082dde04695c6225ca7d15220318d5b28562900d17672e52969b94556b |
|
MD5 | 9ff606bd772a4f2b36ba92c2f3feb8b8 |
|
BLAKE2b-256 | 305d8b4b29f656b2b54608bf4625c82592c2f8c2407f875b322a32a0f3c20291 |
File details
Details for the file passagemath_polyhedra-10.4.58-cp39-cp39-macosx_14_0_arm64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp39-cp39-macosx_14_0_arm64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.9, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3890b258ae08531795e1b32640b03c8e65a8b742bd6ed1184b4a5295a4c2e799 |
|
MD5 | 3ed3686ed3923016f271ccaaf65104ca |
|
BLAKE2b-256 | f925638c8085a8740355cddc74ac4cd6f618daae43ffb4a0db629e29baff860e |
File details
Details for the file passagemath_polyhedra-10.4.58-cp39-cp39-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: passagemath_polyhedra-10.4.58-cp39-cp39-macosx_13_0_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.9, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73977c317cd9b7ec8a1b27aafdb54783eb6685f1c4f088b981be0606f54378a9 |
|
MD5 | 3c05c7fe5761e814d2afacad55fbd416 |
|
BLAKE2b-256 | 64304194704049daa2a2bfacf2c274a348dbb74fea8af35414b22e78d391d589 |