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.57.tar.gz (986.1 kB view details)

Uploaded Source

Built Distributions

passagemath_polyhedra-10.4.57-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.57-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.57-cp312-cp312-macosx_14_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.12 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.57-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.57-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.57-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.57-cp311-cp311-macosx_14_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.11 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.57-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.57-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.57-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.57-cp310-cp310-macosx_14_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.10 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.57-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.57-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.57-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.57-cp39-cp39-macosx_14_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.9 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.57-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.57.tar.gz.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57.tar.gz
Algorithm Hash digest
SHA256 f840d09e5d2a3ee3f7a7da5f4039c14d8407c1016dfec434f5bb9fb1c751d6d7
MD5 315febbe39027e9ae9bafa8f6cc0b550
BLAKE2b-256 928431e8d3eaf15b424f364dd50bfb81a5978f4079d90b7e66d8052115029e11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5c73b16d66f70d7c233b5d38043b7a2a90e7cc1ac4fb9e648363e932b1f21dcc
MD5 fee54dccf90ead1d4ffe4decb6618576
BLAKE2b-256 d9ecf93263e39033221da53815e985e20b290eacfe1cb6bd969d8c27813800b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 befee4881d03bb1b17394247c0ba60fdb2764303c9a6d87a29de8313f5749849
MD5 05c11e4b9a99d03cdbbadd63ede61b33
BLAKE2b-256 92da02e83629bcb89d07bfceffd1019f050a108d0f791c59099ab382744a14a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 181b25f1050b770a1c8ad9687825a847fa22ff0334bffd508522a44ed917eee6
MD5 52caea84370492cdaba019c768f64158
BLAKE2b-256 5fb90b21e8914e40b96ddc792f4c3ae0138406ca8985841e89d4371a9d3f2278

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 aef3c49d2bdb247607b4eba6bea5614e9a3d7ad8fdce6ced8d822f15731428ea
MD5 a5cb3fc0492c143de7fd12af6a4fe5eb
BLAKE2b-256 7321df89c1cc29cf755dedc35abc314d6f3403f9321724bb94d60130cc885c6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0a9aeb5ae1d62198ecf24381bd3b2355bdfa8d337963def473c11b31d8a737a5
MD5 f8d6a3ac84793047bc832a965a42c731
BLAKE2b-256 62947b06d695470976eb2f3a54fbdf96fe14966b9bca5a447d692d4bfb039a1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8207c2a61b972624f4094af913e51f4e77bba70b21ed39c1628a0ee0ddab2ca0
MD5 e1a46b211d9dd7597130c85c69f03bf0
BLAKE2b-256 94ade2aeda61a0965e281aae6749522ab2f43e84425bb2c9ec7224c01b167ee1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6802dcfed95703121c5818ca95d6a64612dff2f3095b0c272ac1bae5985cb1bd
MD5 c6ab8aec5f1547fb8cfbce55c1eee6c4
BLAKE2b-256 2600c9c973c4258db921a389983de193403b16d0fec8a89e344ee1e6349109a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7468e7b07ff8e270939a062d2015c3725adec31ff0ebd8dae3167cf82714dedd
MD5 0e1297c5cfd8a28fcf90a702bea62cb4
BLAKE2b-256 2923edd3c7181de1fb5256e0c338305a19a170609feb64d76198552dcad25489

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 09aaefa416ec6d9c66ec09614cbd81c736eec410ef872d9b6d1e758d3b23e017
MD5 a9e6b0533fcaf01194e6cb58e1a8090e
BLAKE2b-256 8e0d15fb776d779d19f59f84ce49e18dd43772a653ab004934e1c73f3de7da13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19996cf5c9c79b589712c33dcfd2086c82a73b0e9b1515eebdb152940e3cf0cf
MD5 ecfbc4b5b3c3e46d61006644a7970eb0
BLAKE2b-256 871dfd5589b489c2a0d49fad4bab87a65d7d30ecd0c1b5c991fd84d3d212a271

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 10564c99beedc7445827438b49348e14399cb476c5c4c7ed92f7ffd49c0b210c
MD5 6baa6dfab7dd4980bdc4e38cbefb8748
BLAKE2b-256 59bd199b860a1c34811fcc3d259edbaa026b42ad6859ee9485509cbe1219e64d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 821024eede1d0b90a25e9e0232e97ed600144b873796dafd40eac8a7d3306cb4
MD5 0eb087f2e459b7fe9a2b738c56936d67
BLAKE2b-256 6ceaec7928123e527327e121e2985a1c29e5a7dd6a648f6ae6f6afc3733a26e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dc93c423e7d4cf4a85c087eac88d63e24a6ab4be2484059e9448bce77c63501d
MD5 0d73781a88cd0a5b16b4f03b35b05602
BLAKE2b-256 ca3b75887834679d94e144021222295c3fd103edfea43b6788ff81440581ec96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f791f7c67750c0f62e03ceafd5252795b6384fd6e0b1ad25a4b00bc618cc87d
MD5 83018cb7963b97a8d75cca414cfe6f5c
BLAKE2b-256 feffaf36a4d073864083440ea04fd4c9657ea0864ddfc98b281b655ede9a9c90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 12823b17b666a0ba047750e229b5c2af04ecd432d29ffe7c3aaeb865296a3d42
MD5 f3f1fbe722cffec45586d14f588b555a
BLAKE2b-256 05e4d8f4a2eed74dfcdaaeced85a6bb386d26966ce9d0ea5de0c6a67f5e429b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.57-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 fe996fb222b20adc363e3abc222c6900a791cec8248552c606ca3b77398a12cb
MD5 87933c5be81c3e5fb75267ea5ec8961a
BLAKE2b-256 aae7cf94942661895b1f7f8c367997cb70424e91719bafb9d8e529dd78434c81

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