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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 macOS 14.0+ ARM64

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

Uploaded CPython 3.11 macOS 14.0+ ARM64

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

Uploaded CPython 3.10 macOS 14.0+ ARM64

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

Uploaded CPython 3.9 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.53-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.53.tar.gz.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53.tar.gz
Algorithm Hash digest
SHA256 dbc0d4767e18bb9ed125237b06de19e3228b93c8752519910054c66313b16a31
MD5 3458ca87b0a2f827513fa24cd84d6c2a
BLAKE2b-256 3fdf2ab5cc604da7ba66e9c334eec8c12482b8d62ed115715d02fbbc3a77f316

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f428b7dc8252c4ccac699a014243577615a8f448752da3f62249de6a3e5de45a
MD5 a3ec68d4874c59316744a33065c06c93
BLAKE2b-256 18810fc5469e062ae89cc29d82bd2e0f627e3c0f3aafb01ba1b8dd3ea0e801a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 29c14c34d4b1baa8448cada5d7a757852032b077c821b8624995a64978c8cdf7
MD5 4cdd1d7ba27e5485a2cd99c3fd3955c0
BLAKE2b-256 43dd76342ec6ebc856fc529bb355f2bff1f3530300ac899d238ac321a126c22b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1acc2243ce9c5ed407be69b5f60f4c51ac432b276d95e5c0eb8378d12c8d79b3
MD5 53fb598bf554d12c731153b9ec513e7d
BLAKE2b-256 2d976199e7040c1a55e672a8b7cb8c6b2c792ee2cf1d98f46f0bbb457e976989

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 116737b8303c62248d5829d12ef402bb2de767940071b9e07b947871a0f0302b
MD5 d9f19c609553a1ee0f3e6947aefa52a9
BLAKE2b-256 5bd08b4776b3efaf74708dfde67e86f92c729a11b10e4c0297a971bcd627d91e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 31be92071cbf27ed6421fff775e003345266a8ba5342e6051914c5ecb94c155c
MD5 23f65e98ce2d8897ee6e725b36c67f19
BLAKE2b-256 3b17659131c1ce8af4ff3cab9e238deae80bcd0896b2f3024c630c291d3e1b70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e65622e34b2a2e2bc262c53a31389733a5d031b663ed57af8f04c1b824266df8
MD5 dff7049fcc2bc82f7d4efccc7583e07a
BLAKE2b-256 104f30d7343e91c31394a37611809dceea4e880f5c4a451436a7a4593a756e3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8c7e8dfce787fe588b7d407d80e84d4519fd74f7019ac27d233a51b087c633e8
MD5 7b05ba220b55fffc57cc21fdcadf62fa
BLAKE2b-256 e898fb243c55701d8b7ade310316838cdb25a9539a8fe73f20f1405f3d717a23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c0e3ad246ef0b67c842b996b38b10ee1e433d6fcacbbdd10c1c6b842025196f1
MD5 29725ea8ddaa97e3477e994121731b2c
BLAKE2b-256 14a37c999ac3212f67e630304c1bf93b04d9c7f6a3611a5fda64637ae018a551

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8253b452261d0f3e26c084de476f02876f1458e7649841f787decd44d889528f
MD5 d0f6d2becb53db237c3bcc226bfd8559
BLAKE2b-256 d920f9615a455b8b8f5aa4c5c552823746c1aef258679feac7a604df2f55c896

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0adf52a60f12df1c77173c9b22b0559ed362b041e452c113715bbdfba507eb5
MD5 70b107e23c6ad6b3d63d9beb8eb89e3b
BLAKE2b-256 44c153098cf91ace0a2f4ae61267e440d66dc372793b7504778b2cca8926d6a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b9e4a4f2672f225419f12bb3dc69171400be1162ae935ee272e6f9ff47ee9c1f
MD5 2fa609725511b6e549a15574bdf7c03a
BLAKE2b-256 e29a1910a73d7f681a24fad858677351950b7f8113404c4f334bd372cdfe21da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 41fde1af67c262da2e763cefca8843e08e8e85b2853ce24ad9ed6c2155cd780d
MD5 b2ef5a6eea513b65d761853a763c25b9
BLAKE2b-256 7c50f71ee0851bcff367661a06fbcb1089f6af0e3d6964aa626d100b3517b8cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 713a54b535f6a26ce1ae95cbd5afaeaca1db074397ed7247a8d2c8426673a9f4
MD5 c72565d7ee97418766d2ed14a70601e9
BLAKE2b-256 bd374a2a9d3a758481dd73cb64045b1ff7d09628aa0ac52a2a5bceed15d20db7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c8ddc993d39ca326fa4d33182025f3e88cb8ff2ad7b8da5ae5174f0f2a7e201
MD5 e0dfae85cfe2b8a2ebb79042133b86b9
BLAKE2b-256 764133e2df0cce464d34149b8f70438a16c8b58c944fa65f26f05232098aed0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 38682104b8e318d4a044cedb299d266d9b99ddb264d6f843cbe204e8b8b1eb73
MD5 82e7a7e7a3259392fba0b55d440c1f44
BLAKE2b-256 2862e482d3aee224754f420d22f527dd1372061b234e986931d796eb2bb76abc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.53-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 995b6a81f703fe25d77b1c1c759c74bd99f1c08c2b54e02098f6f5675f40cae7
MD5 2574beca321f24b05a4251ba62392662
BLAKE2b-256 ccb6e7e09e1e803929f6a8863cab45564f826b268771463f43bb73e387734388

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