-
Notifications
You must be signed in to change notification settings - Fork 34
Home
Bertini is software for numerical algebraic geometry, i.e., software for computing and using numerical approximations of solutions of polynomial systems. Bertini 2 is the redevelopment of classic Bertini (1).
#Purpose for redevelopment
Bertini developed started around 2002, with the initial beta release in 2006. As with virtually all code, Bertini outgrew its original scope and development plan. Maintenance and extension have become increasingly difficult.
The NSF has kindly chosen to support this redevelopment through awards to University of Notre Dame and Colorado State University. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.
A few central developers are currently working on core development, along with code reviewers and testers. If you are interested in contributing to this project, please contact a member of the core development team - Dan Bates, Daniel Brake, Jon Hauenstein, Andrew Sommese or Charles Wampler.
An adaptive multiple precision tracker has been implemented. We can now track near singularities, and precision will adjust automatically. A pull request has been issued to make this official code. Furthermore, we have preliminary Python bindings, and the Power Series Endgame implemented. Pull requests for these will follow shortly.
A significant portion of the computational core has been implemented. We can represent arbitrary polynomial, analytic, and non-analytic functions and systems in memory, and differentiate them. We can also construct the TotalDegree start system for any polynomial system which has a single affine or homogeneous variable group.
We are close to resolving a large pull request which will bring this code into the base, and another large request will follow, bringing tracking basics such as the Euler ODE predictor, Newton's method, and basic stepping and tracking routines. Full-blown path tracking is not very far away. Once we get these basic routines well tested, we will add other ODE predictors, endgame methods, and post-processing features.
Longer term, we need to implement multi-homogeneous start systems, regeneration, and the Numerical Irreducible Decomposition. The project is coming along nicely, and we are proud of the software as it stands today, and even happier about the future of Numerical Algebraic Geometry.
We are currently working on laying down infrastructure for b2 development: development of resources (developer guidelines, choice of tools, etc.), high-level planning (via plantUML, etc.), and extreme low-level planning (representation of numbers, representation of polynomials, vector & matrix classes etc.). The plan is to build the most central classes and create a large skeleton, then invite developers to add flesh.