|
Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
|
Classes | |
| class | MHomogeneous |
| The $m$-homogeneous start system for Numerical Algebraic Geometry. More... | |
| class | TotalDegreeBinomial |
| Roots-of-unity start system for 1-homogeneous polynomial systems. More... | |
| class | TotalDegreeLinearProduct |
| Total degree start system for 1-homogeneous polynomial systems, built from random linear products. More... | |
| class | User |
| The user-provided start system for Numerical Algebraic Geometry. More... | |
| class | StartSystem |
| Abstract base class for other start systems. More... | |
Typedefs | |
| template<typename SystemType> | |
| using | StartSystemFactory |
| A factory that builds a start system from a (prepared) target system. | |
Functions | |
| template<typename StartType, typename SystemType = bertini::System> | |
| StartSystemFactory< SystemType > | MakeStartFactory () |
| Build a StartSystemFactory that mints a concrete start system from the target. | |
| using bertini::start_system::StartSystemFactory |
A factory that builds a start system from a (prepared) target system.
The zero-dim algorithm holds its start system polymorphically through the StartSystem base; the construction site (which knows the concrete start-system type) hands ZeroDimSolver one of these factories, which it calls on the homogenized/patched target to mint the start system. Adding a new start system therefore costs no new solver instantiation – just a factory.
| StartSystemFactory< SystemType > bertini::start_system::MakeStartFactory | ( | ) |
Build a StartSystemFactory that mints a concrete start system from the target.
The single place a concrete start-system type is named when wiring up a ZeroDimSolver. MakeStartFactory<start_system::TotalDegreeLinearProduct>() yields a factory that make_shareds a TotalDegreeLinearProduct from the (prepared) target. Used by the blackbox switch ladder, the python bindings, ZeroDimSolver's default, and the C++ tests. This template is only instantiated where the concrete StartType is complete, so start_base.hpp need not include the concrete start systems.