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.14
  • MacOS (Apple Silicon): Python 3.9-3.14
  • MacOS (Intel): not supported
  • Windows: Python 3.9-3.14

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.2-cp314-cp314-win_amd64.whl (9.7 MB view details)

Uploaded CPython 3.14Windows x86-64

bertini2-2.0.2-cp314-cp314-manylinux_2_28_x86_64.whl (91.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

bertini2-2.0.2-cp314-cp314-macosx_14_0_arm64.whl (61.6 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

bertini2-2.0.2-cp313-cp313-win_amd64.whl (9.7 MB view details)

Uploaded CPython 3.13Windows x86-64

bertini2-2.0.2-cp313-cp313-manylinux_2_28_x86_64.whl (91.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

bertini2-2.0.2-cp313-cp313-macosx_14_0_arm64.whl (61.6 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

bertini2-2.0.2-cp312-cp312-win_amd64.whl (9.7 MB view details)

Uploaded CPython 3.12Windows x86-64

bertini2-2.0.2-cp312-cp312-manylinux_2_28_x86_64.whl (91.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

bertini2-2.0.2-cp312-cp312-macosx_14_0_arm64.whl (61.6 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

bertini2-2.0.2-cp311-cp311-manylinux_2_28_x86_64.whl (91.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

bertini2-2.0.2-cp311-cp311-macosx_14_0_arm64.whl (61.5 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

bertini2-2.0.2-cp310-cp310-manylinux_2_28_x86_64.whl (91.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

bertini2-2.0.2-cp310-cp310-macosx_14_0_arm64.whl (61.5 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

bertini2-2.0.2-cp39-cp39-manylinux_2_28_x86_64.whl (91.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

bertini2-2.0.2-cp39-cp39-macosx_14_0_arm64.whl (61.5 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

Details for the file bertini2-2.0.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: bertini2-2.0.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: CPython 3.14, 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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5ec6a4913b97a394d0ffc9ad57ad1a7816d9cd7d05ba611dc697809df8d8bba4
MD5 33831964cc019e0bc6b3ced469e4ad82
BLAKE2b-256 20b0ae8769bd34c6058f6d1a521f60e6c5d35b62b7f6e59887d66017755d4b4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-cp314-cp314-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.2-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bded58ad8733475777146ccd54387fee5f05169d972740a4d6854063a447c3b0
MD5 0cc3f14c6f580958b304d68349018803
BLAKE2b-256 dad28f71d7e5b54e3e4303098a838e30e7c1e78ae33b121200c3099b04cf02cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-cp314-cp314-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.2-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6e2c9085319382286266be93d009b259c046939502d99f08c08084c032f31f05
MD5 c4ef8cd02d1b1acb9f3da8d554beb848
BLAKE2b-256 bab0a101505e0360a7ffb1a33db20ecbe35b1ed6c32157b2cd7c8a4651e81ca9

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-cp314-cp314-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.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: bertini2-2.0.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: CPython 3.13, 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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c8b493d45626baf123b6b49d05e300cfe08ad1af6ba48d8a4049bf32ce603f50
MD5 d1c439255b3bb1db559f9ccf0502490f
BLAKE2b-256 45ea1b9009b6353c0e30389aaa79e795e823ab6e156b00ba5508e0c0538193c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-cp313-cp313-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.2-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 12f0db2062ffed732baf0f2e98a309a9ff3f67a62e2577cf821c1dd225eddc88
MD5 5a84d5f702f8603bf095ad49eea359f2
BLAKE2b-256 bf9831ee7d728321a2568d3ae51788edd20897377dc66457ab3e61c68c91ea4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 9dc93a64335efc2803a36cb59b84818ee5753ed96fd495593a66f6c3becd6388
MD5 8c6b5c8744df0e3338a880a1458153e7
BLAKE2b-256 6a4cc9490846e6c8d34ccfd976e43c0367c7e28634e79cc2d8f11436e976f88f

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: bertini2-2.0.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: CPython 3.12, 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8eb03b26b991e53698686729cf2f10ddceb78f5482e162f6e8477f4cab7d6ca5
MD5 070c2210838b8c25695c126b75d30210
BLAKE2b-256 e07439b7c14d48b45ed7e19b3f35c65f3d2c80e76cd2ba6f77268211878e8cae

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-cp312-cp312-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.2-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 663e599a68df63dea4e965f62881e835c749d16468d4f5208a13a170fc06a508
MD5 28e1c15f283dfecfcc5a766b8b0676ab
BLAKE2b-256 29eb24fd83ad35cca1ef21dac1595c84430b539654b19f2f110326bc2cd1f6a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6f0fa75ad4a292abd14564c73dade4a8a0ecc1bc42014c5cdcdaed42f4f60723
MD5 f8e4ebf5ccad55213ff52225744b4868
BLAKE2b-256 0e464d2c7b5a80fec130e87ee30be1379dce602bd649aab268fd03b408631f89

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: bertini2-2.0.2-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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 efb5a3b5af0394388f34d307d0802d3dbb35b774edb3be615d5803a22ed05059
MD5 d94d97bddffcc40c10e9798825aa537e
BLAKE2b-256 bb1c49f491c7af191be72ab20fd854ebdf29cfcc7824bce289b00f505316ad48

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 292a695024f2d411d2e6c4785f1275d9701134f503ca7909dc1ca1b18a953660
MD5 5506e81d80c57d1a8390f5e522fa3f8b
BLAKE2b-256 5964bc7732e96d41d97662dd5b9fe220ebb9c1c3fe2601561251f2d47662bdb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2c438a52ef8f8ac955ab889db2f35b2664d45554135813117a6c59e03d54e909
MD5 cd2b0ca9cd01b22ecd76c374d8f7a28d
BLAKE2b-256 932044e23c9d3124dbe097644bfaf1f6c934af607d2fbca31b9aa41fd492ad2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: bertini2-2.0.2-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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4ce90531994874d937f3f4f1f400d80d9cd9d254b2d4a4b379ceca65b5e9d92f
MD5 4a89e11466a685a4926766ddd19345de
BLAKE2b-256 9a25e0c6e7fecfbd4207ab6fa775a751995011d4ca972f068c5e3a5446b140bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf3f268b4ab306d790128633807277edca2452ca03f8720b687d9cb10c1d5b8c
MD5 b51601af449eec7680791cbb39bc64a3
BLAKE2b-256 d1ffb2c016b26ece015e5d28276c1f296a109eeaa70d4aa24431243ceac25fb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 58e6dfb987ba96bc3f953c36eafe7136f09af3f883950ab21897ae536d219310
MD5 94769cf559417629472ac485644c00f0
BLAKE2b-256 dd9994a4b47857421a2a8d5ef7cf68c6c8232ad1d1ecae7369c351f599173ffa

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: bertini2-2.0.2-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.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 209357f087522f33ea7e95c220b6ad755bbace12337957d8c2108b9c6bb83161
MD5 d47d857f09dabbbac4f870af82f71496
BLAKE2b-256 f22167e9b7024d4965618e16127c3fabe0598646257ec248762ec922cb6e4eff

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e7b442505d4628294f3b367ca9c07ecc35fb7567032ef133738387e2d36301d5
MD5 f7e158b0bb04f3f5094bed6211c09889
BLAKE2b-256 808a8e1f5ad3c05b4127f7cd5a7d1303d14c26e6ad27f268cae352a4600480bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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.2-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bertini2-2.0.2-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 195f0c34a86e743ce14a7b4aea0f5f816a94d63257ede6a4db2da44d21bddd0d
MD5 c1c6aa4306c0b9ceb29c1ae79b9be471
BLAKE2b-256 da1838bbb925ebc22872d06c889d551455ec4604d9a19534df5dce436c6da296

See more details on using hashes here.

Provenance

The following attestation bundles were made for bertini2-2.0.2-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