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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 macOS 14.0+ ARM64

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

Uploaded CPython 3.11 macOS 14.0+ ARM64

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

Uploaded CPython 3.10 macOS 14.0+ ARM64

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

Uploaded CPython 3.9 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.63-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.63.tar.gz.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63.tar.gz
Algorithm Hash digest
SHA256 c4b93636f95a2286c6a2b31d099c5477fc667a7efd6fcb1b8ce3da24bcfbb1d3
MD5 0b2ad96878e1ad12c368da9a34558b2b
BLAKE2b-256 8031a96f897af95e45c9aeffb2453beee8ad0f7c4af485f93caa8d0c56920413

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6ef1b1d06c9cee6ef18d1058e3d1e2297120f24abaa2e34889577eab947b3311
MD5 cee81eea95afeb1e9263746752959736
BLAKE2b-256 e23945b4d9f796d36b0f3c95a43bcd9c67982f5f106e2d68f9f9c21170403328

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 02ab23cc2200b340410542eb4a026972e0a1a24cedfec7ecb04a19c824afc5b0
MD5 31c9701e413821e095d67748e6f206be
BLAKE2b-256 ae80845effbb0c7677b9b2fe64c98a59061f44c333bd08896c7d89b1b7b456c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 927173bee8b68e317327808105b862b6c70178a51bf595d4a68be4bba61ad576
MD5 4b32b7365588821238054e2cd05f336b
BLAKE2b-256 da5466c52af9eff5a7bb1f1811caa4724a9f774e7f4c4473e59c67ece713225c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6aeef5f0b2c9cf624ec1bd5e6079db75dbd18b92658c6d3a0a722a3f85af513e
MD5 1decc15f788c71e3adc0cbf0d069f005
BLAKE2b-256 29ba6f8278db64764c36ccfd6a5e2d7da6dfc93d32bd06ce0afa2593d4cae7c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d0e118ab1f1558202cd6f8d31da7de340225c8b347b41be35bd5daddfe40cb3d
MD5 9c1d45e220530e2847bd42e6762a8bec
BLAKE2b-256 200bb374db642a118334b7cec61fe4dca6717b11c2943835d11b020904c7dc41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c795ef762e2c059f8a6d3cc513fe43cd2753dff8359154f146b3370bfea856fc
MD5 09144b211166ae48c5886ee04568adfd
BLAKE2b-256 36e376d030d487b2f5bcfb87126d55daff98ad1ebc44ee6f0460e7be8ddc9830

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 97699d389ce0be4ce689af05b760ca3d3b0b5883528b064e926a0e7ff588592f
MD5 d3c72f37ac30a89e38493c38048ee80d
BLAKE2b-256 f4a28a76e09f1b7a7be56f057ae57929228563cf91504094138e84696ee9b87a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 2b44c1db77abf7d6ed8d504088d756c7804538b3a90bda8ec0052fa545e2116d
MD5 51246fbf58165128c79e4499e7bf122c
BLAKE2b-256 b3e11ee52ed219932f3054f450913b1d570765028018efa9e1cf5aab11d2a221

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c1867e275fefeb5bfcb73a75ac4d31f59ee6414912801b947e9f423105cfd9d4
MD5 4bd217f9a13db6c6fc0d2b640dcf12c8
BLAKE2b-256 1408ba10b70e9ec6b7bc29b1a5b9f311b7d2a72b7c94b96b192d40b8fd7ac08c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd9de78e9b5da59145e40d5a7d70b804e3513197e7595d3ada5a367fcfd51c0c
MD5 1cad275064fe0c8949ff14a7cdca3f71
BLAKE2b-256 821006519304bce023c83736640aba0d33dde4410e5b41da277eb4a376dde779

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8b9eb48943371e0beb6fd6ed50b001b52fa4cba2d2b9898ad197adc6683720bd
MD5 944d6a56bc16b1849f68cfb44a4790e2
BLAKE2b-256 dbf267643447caf7a0f194d502d660a897f749deaf42648b2abf2b0eac7ccc4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 2fc8297b0d3910b40bf58db63ecd369f76ac67d5d84eed7a80f50e2fb6465698
MD5 d3dbc727818bc01e1bef890362af6f06
BLAKE2b-256 919c7e55be2fab6ead82fcee3dcf7396a218482e0da070b7323ceeb9c6e22f6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d0e4910a21ae041cfd9e220c209f35edbbf247e6929f6c6ec694f4389927b8d9
MD5 1e37c3f92e6e1cffdbbf505d1d5fa3cd
BLAKE2b-256 9dd178e95fc92ba415e131f15f62c62d909b4aaf74c1a5badcdc9ccc623d5a33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a7ed85139327a43434485194968e170354ab8769ee56f266054e726730fab985
MD5 4d8f6ca94190da0812b7dc8c6e3a6692
BLAKE2b-256 0af2194c67f8106857424623e835b49f474f2eb867799c29a39acba1188e7b37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d5d0b03f360c919ad2e6b032b34d7a00ff9a8ae98abe63f27c6c83a093632442
MD5 7d38251fe31a063a3a0285259e2132ee
BLAKE2b-256 280050616346ceb3b1c99749e23d0f00eeca4b72129b64aa9c940188ccbc90e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.63-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 69c5490fe176e5f84bb75a53d8775ca57439e3367c08903cf71ed0c153781ba9
MD5 e439e77dc7263b5cb69f47ce9712a407
BLAKE2b-256 9be2698bcb72e0cc55d32bf39df6b1707bbde491cea6422e1e14082b478f26fc

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