Skip to main content

Software for numerical algebraic geometry

Project description

Quick links


Overview

The solution of arbitrary polynomial systems is an area of active research, and has many applications in math, science and engineering. This software, Bertini 2, is a complete re-implementation of Bertini 1 from C into C++/Python.

The theoretical basis for the solution of polynomials with Bertini is a theorem which bounds the number of solutions a system may have. It sits together with the numerical computational tool of "homotopy continuation". the act of "continuing" from one system into another through a "homotopy", as depicted in the below diagram:

homotopy continuation


Current capabilites

Bertini 2 currently has implemented the foundations of Numerical Algebraic Geometry. Development is ongoing, and here's what we have so far:

  • C++ functions and types, with Python bindings.
  • Through Python, runtime scriptable construction of systems and interactivity with their zero-dimensional solutions.
  • Construction of multivariate polynomial and non-polynomial systems.
  • Evaluation of systems and their Jacobians in double and arbitrary multiple precision, using two different methods.
  • Construction of the Total Degree and Multihomogeneous start systems.
  • Construction of homotopies (they're just systems with path variables defined).
  • Tracking of a start point x_0, corresponding to a particular time $t_0 \in \mathbb{C}^n$ in a homotopy $H$, from $t_0$ to $t_1$.
  • Running of the Power Series and Cauchy endgames, in double, multiple, and adaptive precision.

Development is ongoing, and we want your help!


Missing functionality

  • Parallel solving
  • Numerical irreducible decomposition
  • Membership testing
  • and other algorithms

Users wanting a more developed implementation are recommended to use Bertini 1 or homotopycontinuation.jl, or one of the other packages implementing the theory.


Installation

Pre-built wheels -- the way to go!

The Python package bertini2 provides pre-built wheels for Linux, macOS, and Windows.

pip install bertini2

Once it's installed, you import bertini

  • Linux: Python 3.9-3.13
  • MacOS (Apple Silicon): Python 3.9-3.13
  • MacOS (Intel): not supported
  • Windows: Python 3.9-3.11

Building from source

Please see the Wiki compiling section for instructions on compiling Bertini 2.


Other information

The official project repository is hosted on GitHub at github.com/bertiniteam/b2.

Please note that this is a long-term project, and is under active development. If you want to help, please see the wiki for contact information. We have opportinuties for all skill levels and interests.


License

Bertini 2 is Free and Open Source Software. Source is available under GPL Version 3, with additional terms as permitted under Section 7.


Thank yous

A huge thank you to:

  • HongKee Moon, for his help in getting this package to be pip-installable with a comprehensive CI build system.
  • Jack Hagen, for helping get away from the autotools and replacing CMake.
  • Mike Mumm, for helping with straight-line-programs
  • Jeb Collins, for writing much of the parser system, implementing the predictors, and so much more
  • Tim Hodges, for contributing to the endgame implementations
  • Alan Liddel, for tons of help with Python parts
  • Dan Bates, Jon Hauenstein, for critical advise support, and guidance
  • Andrew Sommese, Charles Wampler, Dan Bates, Jon Hauenstein, for writing Bertini 1

And to all the other people who have contributed to this package over the years.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

bertini2-2.0.1-cp313-cp313-manylinux_2_28_x86_64.whl (88.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

bertini2-2.0.1-cp313-cp313-macosx_14_0_arm64.whl (59.0 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

bertini2-2.0.1-cp312-cp312-manylinux_2_28_x86_64.whl (88.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

bertini2-2.0.1-cp312-cp312-macosx_14_0_arm64.whl (59.0 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

bertini2-2.0.1-cp311-cp311-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.11Windows x86-64

bertini2-2.0.1-cp311-cp311-manylinux_2_28_x86_64.whl (88.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

bertini2-2.0.1-cp311-cp311-macosx_14_0_arm64.whl (58.9 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

bertini2-2.0.1-cp310-cp310-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.10Windows x86-64

bertini2-2.0.1-cp310-cp310-manylinux_2_28_x86_64.whl (88.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

bertini2-2.0.1-cp310-cp310-macosx_14_0_arm64.whl (58.9 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

bertini2-2.0.1-cp39-cp39-win_amd64.whl (9.7 MB view details)

Uploaded CPython 3.9Windows x86-64

bertini2-2.0.1-cp39-cp39-manylinux_2_28_x86_64.whl (88.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

bertini2-2.0.1-cp39-cp39-macosx_14_0_arm64.whl (58.9 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

Details for the file bertini2-2.0.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dfc2ec3dcb0337532e1d04ec9f39efd0e667c910f9a44eb7206721f47f3cab0b
MD5 68b09b20404a6da7b6dbe93ca3e29abd
BLAKE2b-256 cd4b047987089a3a7e07e46c6e749741f1f4b8200ac724626ff0681543fd8a44

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.1-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 92bff2e9acb5be74e3b253a124382c3151a19fbeb4dbf03b02887860d13fc116
MD5 073caa354a627fe329eb531075d2d3a9
BLAKE2b-256 18647a27dfa16543657b454d3c00b8883ec2905ca2c6df733201a5f51e3e6c3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 435245b3541d4aaf85b6291fa4f71647807c5c15b8d5cd47bca6406a5b00767b
MD5 6baa82f08e5ec16e3be45f46e30e81ef
BLAKE2b-256 2d7dbaa554fac77f2836f49c0b4727e6ea79787ebc0c95635082357cae11fc25

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 47dd7454a6fb7621560f24b3845468c98367ae671ccff364dd314474fdfedfa9
MD5 f335f97b6b826e3676352d4df8336642
BLAKE2b-256 b3eaab373832e08cd065627c58a9ddc1c0a7ce87165006b0104223a9a6568c6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: bertini2-2.0.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 9.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bertini2-2.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1f97f89124e5238b2e949961f2c8dc1ebe2313e55a3e870363fe2b18f278f960
MD5 f6eb186c88b17f4cc361d7d6d645b209
BLAKE2b-256 7dab5aa20ae6c3b345ea94badc3dc300782532045dc5ab6eb59ca072683f587a

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c87b8ac09af5d60400f019b6155cce075db0a4b2797a8cbb8aa2252699620ee4
MD5 a73dbc128afc7cfd65edb1c107e0a0b2
BLAKE2b-256 3401d6731a6a54cf34bee3a43de1e773c72813a4c09b689948e3fbf7799cf5b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f51b105f10dc9fb8e389b9fb00500351b78aec2177e287c2cb12ec83d5d37a6b
MD5 1f1b960354183e8915b1e6d6dd14cd8c
BLAKE2b-256 a6bd0c41d62c37721279746b69e267a1799548b97062c3cace418ee4b2c2e053

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: bertini2-2.0.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 9.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bertini2-2.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5af6071e027e96d0b8147207bed7a5994c6f84482ce6dcf85fe9312f43a26568
MD5 ae22f76544b10194e97ca61b777dcb10
BLAKE2b-256 de3445c325d97ad1ab4d9f77a223ad476d189ba4cfcef4961ce210cdb9d0d0d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e7fd0a71c9fce8a2771916c7500760fe5a8c8023e0623e36178e699836a8aba8
MD5 e6eff86e8777a207df9f834e2d4d2e95
BLAKE2b-256 e9119a937ca22d92f525090ad2fe183d084a70600d7d5ddc8b43d0ef1d6491cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2244ad804a4b98afb058328a34ca1cac927f015cadaa5f1f337a71546fab008a
MD5 d46c6423b63d68ce36b87396d685b1cc
BLAKE2b-256 2ab2bd54b3462a51b4a8474d722f960a9be314ba3983ae6dd63bbfea7e4bc07b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: bertini2-2.0.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bertini2-2.0.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f686670b87408cd84ce2804c624ccef054f6a2be90e852dcfe0c5a03ef42a38d
MD5 707650529745ae99c6030ec26e3d1870
BLAKE2b-256 4f0f32d23cc22c8427f558ba74fc1541411bff9790243db0de0c8966822a1526

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 61fc266f5233ecefa4324185dd4d89ae42e075c15bcad08ee38f0db00a93140e
MD5 23bfe2ab6f50627fad19c1f59652f3a1
BLAKE2b-256 1d5a08bea9797b51f336f879ead02de4f3acbfa62143829ec3b93562bb48796c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bertini2-2.0.1-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.1-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2a968b3afec6f29593ef66f2e5e38217bfd05661531e7f4ab3748cbc8795acfe
MD5 c8cc4acd69cf4c1bbd2c4d833952e99f
BLAKE2b-256 d07e77342aed0c93453deb8fec4e4d2bdbead0e3504c462e32f2e4455c4698ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.1-cp39-cp39-macosx_14_0_arm64.whl:

Publisher: publish.yml on bertiniteam/b2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page