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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 macOS 14.0+ ARM64

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

Uploaded CPython 3.11 macOS 14.0+ ARM64

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

Uploaded CPython 3.10 macOS 14.0+ ARM64

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

Uploaded CPython 3.9 macOS 14.0+ ARM64

passagemath_polyhedra-10.4.59-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.59.tar.gz.

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59.tar.gz
Algorithm Hash digest
SHA256 142d3f281eff1246b4d16765bf917d93b9582d08c277ee575cf22dfffa855dc6
MD5 c8996cbe5fbf7b469857280336258821
BLAKE2b-256 b4f64c55978c91625733e257ddf4a43c17ef728f02c78b8836ccd55e73c5ea6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 16ea11cc662ce5c130bac5ea553dde77f1aceb8f5efe3f6f85a62fa6cc526f43
MD5 2ca5e07ff90c05f912b1019617b41c80
BLAKE2b-256 ca1472f497225ca2f22ff01948ce51b95c6059e9b0b4a89fa7af42a34d679ede

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2e2b5409f6c4834797980e6528ecc615a43f47506dbc4f4e9b98cbfb07ee3e18
MD5 398394fde9b5e305d8718dc430950c2b
BLAKE2b-256 76be14b3be297b42df80dde5a1f3f0dcf4b3c99571dbbea680236b3ac1238a61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 40e58ee072ac2541838e84b5fc8a327b0eba5a9d7b594276304c2669ede49419
MD5 85b5b3aa058a96a6d5cbc176a342ff1b
BLAKE2b-256 893a5c33ce5953bd8eac76fa7619ec6564538b990e67af3741cf2f2aaddbddc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 f64378b8002b840cd1fddbe5d5784fbc4491bc5619a65b3f89d0bf7ee6c6ea21
MD5 1e903ddecdf20e4e16f781eb9d2ba951
BLAKE2b-256 3f541321560732384d39cf3d292a7e571ea29f3daede8821730ddeb666c41fa8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 013aadfe9b16bac63d951c74c14c6c95e732a265687a865cd1f1ad9b123d1bc8
MD5 34b326e3ce83ea88de9774bbaf50747f
BLAKE2b-256 ff52562226bacae1c1b2310f8f981e1c148324bfd759d50b3bd09e82813e20d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bb720b21a7b10acc5c4297cb67592510eca7eb5e0e429385c92fb951c2e8cae7
MD5 dfacab3da8b6d5ed4034bc137ff2123b
BLAKE2b-256 906beddb767968722dfccd3f01fae254586e3636b67b4f6ad487b7131a154ed2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2fb01035b3b933b9b7a3a62d13131ab1760fa883296bb1f09245237905186d13
MD5 6605e86575f435036ef4b3cd96acecdd
BLAKE2b-256 46f1acb1ced2c04d74957ab95bbdc52612d1fe5a7e351d21d6710fdb3099ffea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 de674a684b79cbbb8395e5459d31f9dbb34f173d98fe7e61d8fbf6e7557f2891
MD5 0111fc5cd4c9c9ebacf29e0fda8639f5
BLAKE2b-256 59ee7cc69487d23bfe68cab0458ec55468620b7356bb59a190c533db04d9c5fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4a42c7b633d367954d63385ccd31f4de014a080d2e728643e0d3b3a225cf16bf
MD5 84a9e8f2e4eb1411880d01306f675aa3
BLAKE2b-256 7edc46675778c11da9ab113c5c168a0ad7c97e323d928c3e891b34927c0d7ad9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 42d65ec35e009777787c7cda97a774107259b36e0811b174482e26488ebd5c06
MD5 d33bead47ad9d95115e842913cb2f4ed
BLAKE2b-256 4a726b3ca5c2f18b0ac0f66ddb5371afa2553e6e31bf27ca9db727a0d8db5941

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3f151e1e42e7fd4a9e7a618ecf5d6502b7f28c0282984b13248ee6792b4b71d6
MD5 0696179e39299c0d2eff9a1929f98d0a
BLAKE2b-256 b6964c64b820f6607a4c67be73717a0233319ac016f20b4ccedf0fc8bb12c556

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e1b72f9711a3e266dba8c3e899cb9598138fd36e644559b4c4155d65b5ccd34c
MD5 9c4ef61a88c2c630f6e807631d0c67fb
BLAKE2b-256 5ae677013b5d47d22ef40fc5a5a1695eef121aa2ce52d29b28a991f01a3fd1c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6b39cd3a7601fbbc1dd6c4b55214bff663b3c3574a490179e91aaa1af946aa03
MD5 3f9f6266d98b17252b7ea39b947d3711
BLAKE2b-256 c9c3279017ca6dd14d6af22d4b8aa6779c37c6efbbba64ad909badcaedb36d7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e9169f814897b6ae61c1d628e5f217960c8b60a9784819d338dccd66aece47c6
MD5 93a40b008c7398edf259fd1e648abc48
BLAKE2b-256 41a8430f83ead5a8ef2166f9e03a74583f6e1522440bbfbe7188afe02ff016e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5f23bd8dacf2355244549619e150edc62eccd2cef4f19e2740c60baf5b40c4ee
MD5 ae49aff20072f04af496a3a3b79d66d7
BLAKE2b-256 df06ef4eb8c2e7765a09bcf8598be6d28d6227e182aee2fea6ce98ba980bb70f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for passagemath_polyhedra-10.4.59-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 3fe59d080dfbae81e208fb71fc5b294b2f8a22594a0cdb7a79843d3915b0ff3d
MD5 547fc44406fc094027b4ee6a6325168a
BLAKE2b-256 72a98ec97f488fdbd896a0e731db3fa0f41d8897601652e23ff481b2423e93b6

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