Skip to main content

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

https://www.sagemath.org

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

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

Toric Varieties

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
pip install “passagemath-polyhedra[polymake]”

Polymake, via JuPyMake

lrslib

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

SCIP Mixed Integer Optimization solver, via PySCIPOpt

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

passagemath_polyhedra-10.4.58.tar.gz (986.0 kB view details)

Uploaded Source

Built Distributions

passagemath_polyhedra-10.4.58-cp312-cp312-musllinux_1_2_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

passagemath_polyhedra-10.4.58-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

passagemath_polyhedra-10.4.58-cp312-cp312-macosx_14_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.12 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.58-cp312-cp312-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.12 macOS 13.0+ x86-64

passagemath_polyhedra-10.4.58-cp311-cp311-musllinux_1_2_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

passagemath_polyhedra-10.4.58-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

passagemath_polyhedra-10.4.58-cp311-cp311-macosx_14_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.11 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.58-cp311-cp311-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11 macOS 13.0+ x86-64

passagemath_polyhedra-10.4.58-cp310-cp310-musllinux_1_2_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

passagemath_polyhedra-10.4.58-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

passagemath_polyhedra-10.4.58-cp310-cp310-macosx_14_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.10 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.58-cp310-cp310-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10 macOS 13.0+ x86-64

passagemath_polyhedra-10.4.58-cp39-cp39-musllinux_1_2_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

passagemath_polyhedra-10.4.58-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

passagemath_polyhedra-10.4.58-cp39-cp39-macosx_14_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.9 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.58-cp39-cp39-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.9 macOS 13.0+ x86-64

File details

Details for the file passagemath_polyhedra-10.4.58.tar.gz.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58.tar.gz
Algorithm Hash digest
SHA256 4184484fdd3d93f093b5b6d7ec617b3cf5e0685ac123afa2349d94b8cdf140a9
MD5 834804796f5cd7da129ece63fc961f3b
BLAKE2b-256 4e69a9fd512d56b77bb6e899f607a7297a6f89520a5b9d9be08cedd1ffc3611e

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7d9d184e88e8aa91d4a2fd7a12a29c54477516d07b7dc9c431e8a627bda8a227
MD5 2740c0d7cc2ae59a100b76b089d437e4
BLAKE2b-256 54d1e8f921a47c6f73ffcf645d5d062754282ae2d3d463d62b5fcf7f55ba2adc

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 91a48061888d523f7e46d75450344a9daaf47726f4e7398d1f730e6ac6c23667
MD5 03c76829661bd4d8483273af34601920
BLAKE2b-256 6d312edfc3ab052e5a14e6c7ec66266b4ab87d67e044edd7be582ac8cfafa23b

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f643b5d7d9f60fe04c723ab398c6aa284ec3c00901ba14b2888b9553e704a557
MD5 df9603c6be24e8dfe2382391b75fdaef
BLAKE2b-256 5f8935b3336c819f689133c677bfcce99c0e2a216f2785ef015aeb34f9e94fb0

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e362c9af6a8e501344e7d2e56dc00b95de1acaace9a3b8fa18e57ab146ffcc73
MD5 8cd7a6fac674022284ec7a52a19fe646
BLAKE2b-256 7bb6610fa163b602605fb1117c405823b0edb2827e318eec2a2614e8af45147f

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 48b6192f5d9759cbb82515321f2100e3efd18bd590bbc9c98fa4e3cdea05b260
MD5 ce23e0a11f4da90c7c396954b0978bde
BLAKE2b-256 c2f556709fbf4daca4ab9f9f2164e1eb855ef5f74c1353b821e7cabd762389a0

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e359c34e0e87b3cfb07bdc187ff94389bbfc7a3c499479f58fe55cbc3470811
MD5 15b14dd038b22c464a2afa5e234f21e8
BLAKE2b-256 7080fb17956cc2e5249ee69943447e61b9225447c6f93089a3c9080ec74bf01b

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4c9c2a68c0bcddc43f7f1134534f56f84e0ee37a27bd7c05a85fe77c247e8db9
MD5 c99f7ea7617bce12736193a27aeb300f
BLAKE2b-256 1deabba8ecd3014c33c57f72fe95a6cd798433b2fafac2d7d0ecf7c482fafcf0

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 cefad929f4a9abad2e21b41805a5e8e818a0d1e73b59cf1d8a1165b274dfc35c
MD5 71acf3c1d5d4dd308ec27432dd2b41e8
BLAKE2b-256 3297962c127e7a87a421ab7aa10b074c8f72af5948d6d3d936158f893e53e9e4

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 edd667185d9520656dac97cbaeaedd1256317b4634f2e34eaa3d30bf6fbc5259
MD5 730cda261fdd8bd0c88c5662ba3fcdc8
BLAKE2b-256 775ec523d02e212c740f99143f98fd957868cf0db47bb546371661b8edd96af8

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37c7e0f5187c05c918efa2fe2108c0d02cfeca581c9b5570cf10e5a25d46104d
MD5 02046c3f85f66f59686999ff67730bde
BLAKE2b-256 41c7915c7b1ecaf45ca7983aecdce0b99ec365322cd4414115a699366852a753

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0368cb5857630d570d7ead5d62f01e0bb31e5c83d6898e07327a4aa8fbd7c560
MD5 1d0c6a1d0e66e6328e895a1ecaf8cf59
BLAKE2b-256 e06c0e690855f2eaf4748c185029a984f556ee5ab9f0f17b96a054dca448fd8c

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 93495f493d74affc1751f839d50e344b3ed294a1afb1811b618126c264431332
MD5 da182cff1ba30c61f62da96c689ff74a
BLAKE2b-256 d1a047988ca7bb1ac7c0b00b9b08c0722bf1a0a91a8afd932df7cef1555c301c

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6f4b8886ca62ec98f5eb6e317671975d8956f6ada3714238580f76748d4c59db
MD5 75f859ddef87904c39b90eb2fd34b242
BLAKE2b-256 effaf8cec9adcf69ccf2d70688949fbbca71156444eac86e2960780e329f1ef7

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d4b74082dde04695c6225ca7d15220318d5b28562900d17672e52969b94556b
MD5 9ff606bd772a4f2b36ba92c2f3feb8b8
BLAKE2b-256 305d8b4b29f656b2b54608bf4625c82592c2f8c2407f875b322a32a0f3c20291

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3890b258ae08531795e1b32640b03c8e65a8b742bd6ed1184b4a5295a4c2e799
MD5 3ed3686ed3923016f271ccaaf65104ca
BLAKE2b-256 f925638c8085a8740355cddc74ac4cd6f618daae43ffb4a0db629e29baff860e

See more details on using hashes here.

File details

Details for the file passagemath_polyhedra-10.4.58-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.58-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 73977c317cd9b7ec8a1b27aafdb54783eb6685f1c4f088b981be0606f54378a9
MD5 3c05c7fe5761e814d2afacad55fbd416
BLAKE2b-256 64304194704049daa2a2bfacf2c274a348dbb74fea8af35414b22e78d391d589

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page