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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 macOS 14.0+ ARM64

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

Uploaded CPython 3.11 macOS 14.0+ ARM64

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

Uploaded CPython 3.10 macOS 14.0+ ARM64

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

Uploaded CPython 3.9 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.61-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.61.tar.gz.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61.tar.gz
Algorithm Hash digest
SHA256 315169be60b33186b085b9ade46e1b7c0eec06423625002ddaa90a934fe002fc
MD5 4efbce24a29876bc1c66b1ba0c49849f
BLAKE2b-256 5bb939ec9e1907778f38b93f1d274bdad0e3b5b86b33724c151c1b063c0aa8ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d1f9d90ff17cfa93705e735e70a682c6b3c6f893dfe4c2f67152cccc11a212fc
MD5 d270ba7403217c54eb7c1cdf69a8350b
BLAKE2b-256 4b8c704b1aa818f4b903c6365a747c45f7e7d8e5596056dbdaf71fa11448b88d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a4f725292a57f5ec1c50b3b19d454c0aeb522d81bd5d851bf6d63ac01e662eb1
MD5 07ddaa46474c7ce484c65f3e2192892c
BLAKE2b-256 193db2d0854ef7cc7ea2f459cfb6861baff7b31bed82f822b180b737cd78d0cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 abaa2fb59a57db835525487d224985a330dfab50b605904b0e57cae10061bc80
MD5 6b35178f1b4127fba35107792c8f3933
BLAKE2b-256 5a6e01e3e66dc993b74877b1c39ac35ee35200bac606bce9ef07e250909d44d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4d0e92211db28d0b9d915750b649130437ae2601040b0874ab446ac88ce162d8
MD5 c9e1407be748f44cb6fab43c9cf73cbd
BLAKE2b-256 a016fc27417b7c66aa37e8376bf2855dd001c03ff44525c72638ce6251a06b76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4c2212ba4358dd464b7dd902fa23ecea42a8dcbfcb62fed72e6bb9ee58b97b67
MD5 88f8e85ccd3a355fa1a321ee75de6ec4
BLAKE2b-256 2ed83754751d19408f6c440a50b45c5040225cb7f23a78dc405d5c0e9d78bfc1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7469a83c9486eccb0f162ab778bd1af522f1c4e7334e9ce744ed330621a29fb5
MD5 980fc86208f638b00ce2827a654cc5ee
BLAKE2b-256 04eb0aa8eaae5187994045fd37b05bc057af116edf861e1a6d8ad1788855974f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a0ada93717fa7104a6c41de7a9426258ebec850e338786bd701594f279b075c7
MD5 b68dd9b7f909121cecb6a6697698cdf7
BLAKE2b-256 3f106c820a6f753f8b56e981e10182c8d8984487bf61b29a9ed99a5017509add

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 72a624a019ed7fe89a62870531d7c363f4824725f2d93a0152af687d3de6a863
MD5 04a2d73829b92bb3767066799b3b99f5
BLAKE2b-256 206fdbb5d697f8c9ed55880254cca0bf8d7b7b2d84f365dd0150408ccd4eebc2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 96ad835e881f13e85a940ad3bec36be61aa0a7a98fc6d2eb73fcf41bdf06316b
MD5 8becc1e0cc62126e59a98ebc27af54da
BLAKE2b-256 bf66300cdb784ebeee4cb78d03895c03207737547c67907e04dc9c4f26f9ef1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9792cc5a29b9f8e3e43028b00d86292db27a66d712570ea92f4f8c6e7afcf9a
MD5 414a6b2ab42f23f6369a7d1fad9c60e0
BLAKE2b-256 edf515c7c0cf71993312bccfa52265a381d9d3ad66247f04d90d5c1fa059712b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6292ee0501c6180b434d88881dc78d14ad3a2901729f4a9bfb5c5ad7c30c1251
MD5 6aef776923c3fe2e246a21641b0634fe
BLAKE2b-256 b93aeed5ebc2db5841f03a39930c85a737ef5fc9989393bd30848a32b10a1212

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a9c23c552174d3ed83a3a4e1adc29d1933886f64246d36746563ddd0c9cc3e37
MD5 eb05b2a5c92f8941533e7cd8b46a7a37
BLAKE2b-256 de21d77d164503cabfdbfe9359b0e5b3f7c448d328e1b71a2e3d70b32fd4fdb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d2d0c29498b9ceac5621e6cc87f0d0c61455f6edac279c040092a38c3debef9a
MD5 5ed311385c06c9050fad40d6cc6cbe4b
BLAKE2b-256 9a6b98f09fd040acf94836df3ca9e911e89c1479a5ad1cd7e1b4f7c77b6c9a63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eda0a394cf96b0939dea92bfa67fc6e7382958b6c11c61856c7eb83298295662
MD5 a108410d8802c4489eb0a07fbab74c08
BLAKE2b-256 8cc65d4c281b10e383c05f8152de05e3ec45e45927768cbcfc9b3f554e02e53e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 18dddf5115a0822aa24e11ff7532954914cc7e0c256f3bbabcaf1e2f46a71dc5
MD5 3aa388b6d09d0ab9433019766cd73971
BLAKE2b-256 7b0f8709fa4ae4ca34ee9ba95214e3752ce538b3d0476a5e09194dfb51a6ae2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.61-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0f96d920451d0d42fe8d361a8832f4a2447a7f513411bb7d7d00332718e51702
MD5 049ac382d35c2ca4c9929abf889da4ab
BLAKE2b-256 61e4617976c4d8783569f42c45616d897f2a81b8fb7791042665c600ea52939c

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