105template <
typename TrackerType,
typename EndgameType,
typename ... ConstTs>
109 return std::make_unique<
123template <
typename TrackerType,
typename ... ConstTs>
137 throw std::runtime_error(
"unrecognized endgame type in ZeroDimSpecifyEndgame");
148template <
typename ... ConstTs>
160 throw std::runtime_error(
"unrecognized tracker type in ZeroDimSpecifyTracker");
174template <
typename ... ConstTs>
187 throw std::runtime_error(
"trying to use generic zero dim with user homotopy. use the specific UserBlaBla instead");
189 throw std::runtime_error(
"unrecognized start system type in ZeroDimSpecifyStart");
203template <
typename ... ConstTs>
Configs for the blackbox whatnot.
The fundamental polynomial system class for Bertini2.
Definition system.hpp:106
size_t NumVariableGroups() const
Get the number of affine variable groups in the system.
size_t NumHomVariableGroups() const
Get the number of homogeneous variable groups in the system.
Collects the various header files which define the Bertini2 endgames.
Tracker
Which path tracker the zero-dim solve should use.
Definition config.hpp:40
@ FixedDouble
Definition config.hpp:40
@ Adaptive
Definition config.hpp:40
@ FixedMultiple
Definition config.hpp:40
Endgame
Which endgame the zero-dim solve should use.
Definition config.hpp:42
@ Cauchy
Definition config.hpp:42
@ PowerSeries
Definition config.hpp:42
Start
Which start system the zero-dim solve should use.
Definition config.hpp:38
@ MHom
Definition config.hpp:38
@ User
Definition config.hpp:38
@ TotalDegreeLinearProduct
Definition config.hpp:38
@ TotalDegreeBinomial
Definition config.hpp:38
Definition algorithm_builder.hpp:37
std::unique_ptr< algorithm::AnyZeroDim > ZeroDimSpecifyEndgame(ZeroDimRT const &rt, ConstTs const &...ts)
Resolve the runtime endgame choice (rt.endgame) into a compile-time endgame type, then continue.
Definition switches_zerodim.hpp:124
type::Start InferStartType(System const &sys)
Infer which start system to use from the target system's variable-group structure.
Definition switches_zerodim.hpp:77
std::unique_ptr< algorithm::AnyZeroDim > ZeroDimSpecifyStart(ZeroDimRT const &rt, ConstTs const &...ts)
Resolve the runtime start-system choice (rt.start) into a start-system factory, then continue.
Definition switches_zerodim.hpp:175
std::unique_ptr< algorithm::AnyZeroDim > ZeroDimSpecifyComplete(ConstTs const &...ts)
Instantiate the fully-specified ZeroDim solver – the end of the switch chain.
Definition switches_zerodim.hpp:106
std::unique_ptr< algorithm::AnyZeroDim > ZeroDimSpecifyTracker(ZeroDimRT const &rt, ConstTs const &...ts)
Resolve the runtime tracker choice (rt.tracker) into a compile-time tracker type, then continue.
Definition switches_zerodim.hpp:149
std::unique_ptr< algorithm::AnyZeroDim > MakeZeroDim(ZeroDimRT const &rt, ConstTs const &...ts)
Build a ZeroDim solver from runtime options – the entry point of the switch chain.
Definition switches_zerodim.hpp:204
StartSystemFactory< SystemType > MakeStartFactory()
Build a StartSystemFactory that mints a concrete start system from the target.
Definition start_base.hpp:68
Definition algorithm_builder.hpp:36
The zero-dimensional solve algorithm: given a polynomial system, form a start system and a homotopy,...
Definition zero_dim_solve.hpp:3255
Runtime options selecting which ZeroDim algorithm to instantiate.
Definition switches_zerodim.hpp:54
type::Start start
Which start system to use.
Definition switches_zerodim.hpp:58
type::Tracker tracker
Which path tracker to use.
Definition switches_zerodim.hpp:59
type::Endgame endgame
Which endgame to use.
Definition switches_zerodim.hpp:60
endgame::CauchyEndgame< EGPrecT > Cauchy
The Cauchy endgame for this tracker.
Definition config.hpp:90
endgame::PowerSeriesEndgame< EGPrecT > PSEG
The power-series endgame for this tracker.
Definition config.hpp:89
Collects the various header files which define the Bertini2 systems.
Provides the algorithm for computing all zero-dimensional solutions for an algberaic system.