๐Ÿ‘‹ Welcome to Bertini 2ยถ

Bertini 2 is software for numerically solving systems of polynomials.

๐Ÿ—บ Mathematical overviewยถ

The main algorithm for numerical algebraic geometry implemented in Bertini is homotopy continuation. A homotopy is formed, and the solutions to the start system are continued into the solutions for the target system.

Homotopy continuation

Predictor-corrector methods with optional adaptive precision track paths from 1 to 0, solving \(f\).ยถ

The definitive resource for Bertini 1 is the book [BHSW13]. While the way we interact with Bertini changes from version 1 to version 2, particularly when using the Python library, the algorithms remain fundamentally the same. So do most of the ways to change settings for the path trackers, etc. We believe that embracing the flexibility of Python allows for much greater flexibility. It also will relieve the user from the burden of input and output file writing and parsing. Instead, computed results are returned directly to the user.

Consider checking out the ๐Ÿ”ฆ Tutorials.

๐Ÿ“ฅ Installationยถ

Easiest is to install from pip:

pip install bertini2

Note that the import in Python does NOT use the 2, as silviana didnโ€™t want to have that appear everywhere in the code. So itโ€™s just

import bertini

and then do wahtever with the library.

Note

You can find more complete instructions, including instructions around MPI parallelism, in the Wiki.

โ›ฒ๏ธ Source codeยถ

The Bertini 2 source code is available at its GitHub repo.

The core is written in template-heavy C++, and is exposed to Python through Boost.Python.

โš–๏ธ Licensesยถ

Bertini2 and its direct components are available under GPL3, with additional clauses in section 7 to protect the Bertini name. Bertini2 also uses open source softwares, with their own licenses, which may be found in the Bertini2 repository, in the licenses folder.