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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 macOS 14.0+ ARM64

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

Uploaded CPython 3.11 macOS 14.0+ ARM64

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

Uploaded CPython 3.10 macOS 14.0+ ARM64

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

Uploaded CPython 3.9 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.64-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.64.tar.gz.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64.tar.gz
Algorithm Hash digest
SHA256 5f05fd673406c3f1f810fff4e83721c2c4d4efd09bc9826a968c778040d34714
MD5 a23f21615b4a76219ab7278345be3c63
BLAKE2b-256 c78e23aa7a44f5ea4e7ca3b85e055eccc01930df4eb369f3da67f653772310e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fec15d936df0e0538ecd125cc0dba9b6f7ea4ad2c4f6ddfcb39fe61c4a6191f7
MD5 5e9b98debbb6f436e2b92e7a4b571c07
BLAKE2b-256 b2e65d932b06f1a1f12b2c9e2f592b5008b390df3d768ff61d6ce298f5b942c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af7be174d38c5f875e22c51c1792255cbbc9d95133d4f8da581119753a53ff12
MD5 884daa473627ee2bd24ac8e563b8f157
BLAKE2b-256 b85b096776b77d0e53160279d0496d54342323c7f849ded8e8693d66e6ebf39d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1ffd7cb970b5df2a0306528095f464906c73c5d015743c2a60d943873f1589fb
MD5 9734b467c916d855e9f41f9e05a9baf2
BLAKE2b-256 17c13e7bd09d6e1780fc258dae4a5580fd82638a85b4f86959ba235baa9dda95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a2f0ca8ea3e204401f66ec9ad38dd1db1a488d51b1d453bcb829d0d18572ab73
MD5 fc372bbe8920330c797d558971033986
BLAKE2b-256 3aa39089c27a287cc1e18c2fd48294a87cb4bf4ea2f20532d11b226b3bcb7930

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eb173b4120a3a3d9b5ae3094179ec4985d1feadeb302e28b45c080754b4bf64f
MD5 d9c8433e4b325eee167385749e1858d8
BLAKE2b-256 5fa8b8a329b6baf3bcf4ba02a9f0836721669ec3cb5d7ef1d4c5c0d8de7a1f26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8453589abfdcf8751d968816590de3e73906718201c710832b3bbd20a27a05b8
MD5 97e3659a6cfa0fb745d3fa6b0c480ab8
BLAKE2b-256 ee7910daa93d866c8fd2b27f2372c2a6f4c27a1d1a8303dadc5a9e300d3a4636

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 43f51f7bcdbd5c52661ce79b0454155812455d6412c10b7c6b6434eec87e1f47
MD5 acf4f380b1c0bc4895e270e542164bc9
BLAKE2b-256 9cd1f55f5479be433ba91ee5a995124159971b6aa32c0c6cb688ef68c5367a0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 40bdebb2aad609f3bc42a19303d0986b20af54cf616f049ebcabad93fa109321
MD5 d95a9e970f249ae46b6f9c4896f66172
BLAKE2b-256 a0170e0f67a67eb11b2836d0ab1d50bccec7f6b2a2e9665350203473ccfb0acb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7d86eacffc7486a9ed759fdb1b5e8fc7b73d6ce7bdfb23db9e0e12874ba129cb
MD5 cfbf9a0f3e421e4f891fbb5212dbb7fb
BLAKE2b-256 52ecf70eaacab8331d9a95c89d92e0f5204c6e397f746a40f810ff8f6d69828b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d2ee1ebea5656d5ee6329272958657dba385106f951980f5fa8dcc52c6b090d6
MD5 a041745a5d879629a22f685c9ebedb5c
BLAKE2b-256 3cd788c5646cad4a0c8ffd7205e4ebcaf589e176277e48f40227c8bdaa92768c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a2e569361ff2f8149eb5af64263c0179d67d024672dee261683dd2d2f8697bab
MD5 f7963d2b6baf9cbbee56823e6ff94644
BLAKE2b-256 c5c77ac552587982d130510e1ec7a2f75d543d410e63fd71e5e84357e0453f68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 23547a70c6201f2f3f28f8e5882a751b6c235f37e0d24b0ff61994601df246df
MD5 3a22f5561ac528d0c6e5be981faf48da
BLAKE2b-256 75d3391faf9602e66a65630478a1627ce4bda67341e2f6f15420f3129156705c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 41ebd362e302979d8887a484979612c2eb694145fa77ed7bd14f22f2f6651cec
MD5 31cf218f2f0b3ae44f4d097c7718f033
BLAKE2b-256 f859311c2414dd0b309a0524114cb4ae6b7fbb73d010e6d594e70d7dfb6a0d0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 75942e25d849c39dbd32df36fe805c373937ed033ee882168b470ab69889d207
MD5 6fa9d31c03e65039dfc5a54f34c7c6ec
BLAKE2b-256 28337e181d6c9582d5e32b1afc98006daf90126221eb59dd16d4ecff13a6020a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f7241abb2e6e1a5d764b24261c1db6afdf209ef785e17d0a4739455fd77cdf16
MD5 568e5ba3ed5b76cda425a880a60c8894
BLAKE2b-256 702f015db7d177e9395be36b30c4cf2c212bfc5dba9a770745c7519504b46ce7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.64-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 24cef26b1c8c5dd22f8493f1d175b7da3f618769d00fd81fbc2343dc930a2290
MD5 b9cee9905a93fdacea4bff92d7f26074
BLAKE2b-256 1605dfdadcc35782295690ec955291437aa3678e0326e47afcdf023997ed3987

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