62template<
typename TrackerType,
typename EndgameType,
63 typename SystemType = System >
74template<
typename TrackerType,
typename EndgameType,
109template<
typename TrackerType,
typename EndgameType,
110 typename SystemType >
114 typename AlgoTraits< NumericalIrreducibleDecomposition<TrackerType, EndgameType, SystemType> >::NeededConfigs>
178 throw std::runtime_error(
"NumericalIrreducibleDecomposition is not yet implemented");
188 throw std::runtime_error(
"NumericalIrreducibleDecomposition::RegenerativeCascade is not yet implemented");
196 return decomposition_;
251 target_system_.Homogenize();
252 target_system_.AutoPatch();
257 SystemType target_system_;
258 TrackerType tracker_;
259 EndgameType endgame_;
provides a common base type for algorithms to inherit from, for the abstraction layer above for calli...
The NID data type for Bertini2.
Definition numerical_irreducible_decomposition.hpp:49
Provides the NumericalIrreducibleDecomposition data type for Bertini2.
Definition algorithm_base.hpp:34
Definition algorithm_builder.hpp:36
System Clone(System const &sys)
Do a deep clone of the system.
Provides an Eigen-like NumTraits struct for querying traits of a number type.
Contains the observable base types.
typename tracking::TrackerTraits< TrackerType >::BaseComplexT BaseComplexT
The complex number type of the tracker.
Definition numerical_irreducible_decomposition.hpp:79
typename tracking::TrackerTraits< TrackerType >::BaseRealT BaseRealT
The real number type of the tracker.
Definition numerical_irreducible_decomposition.hpp:78
detail::TypeList< RegenerationConfig, TolerancesConfig, SharpeningConfig, PostProcessingConfig > NeededConfigs
The config types this algorithm reads (drives the reusable Python config interface).
Definition numerical_irreducible_decomposition.hpp:82
Definition config.hpp:271
Type-erased base for all nag algorithms, exposing a single Run() entry point.
Definition algorithm_base.hpp:46
Type-erased base for the Numerical Irreducible Decomposition algorithm.
Definition numerical_irreducible_decomposition.hpp:94
virtual ~AnyNID()=default
forward declare of the NumericalIrreducibleDecomposition algorithm.
Definition numerical_irreducible_decomposition.hpp:115
detail::Configured< typename AlgoTraits< NumericalIrreducibleDecomposition< TrackerType, EndgameType, SystemType > >::NeededConfigs > Config
The Configured base storing this algorithm's configuration structs.
Definition numerical_irreducible_decomposition.hpp:127
RegenerationConfig Regeneration
Regeneration configuration type.
Definition numerical_irreducible_decomposition.hpp:133
typename tracking::TrackerTraits< TrackerType >::BaseRealT BaseRealT
The real number type of the tracker.
Definition numerical_irreducible_decomposition.hpp:124
TrackerType & GetTracker()
Definition numerical_irreducible_decomposition.hpp:209
const ResultT & GetDecomposition() const
Get the most recently computed decomposition.
Definition numerical_irreducible_decomposition.hpp:194
void DefaultSettingsSetup()
Fills the configs from default values.
Definition numerical_irreducible_decomposition.hpp:238
const TrackerType & GetTracker() const
tracker / endgame access
Definition numerical_irreducible_decomposition.hpp:203
SystemType & TargetSystem()
Definition numerical_irreducible_decomposition.hpp:144
SystemType SystemT
The system type.
Definition numerical_irreducible_decomposition.hpp:119
void DefaultSystemSetup()
Homogenize and patch the owned target system to its default working form.
Definition numerical_irreducible_decomposition.hpp:247
NumericalIrreducibleDecomposition(SystemType const &target)
constructors
Definition numerical_irreducible_decomposition.hpp:152
EndgameType & GetEndgame()
Definition numerical_irreducible_decomposition.hpp:221
typename tracking::TrackerTraits< TrackerType >::BaseComplexT BaseComplexT
a bunch of using statements to reduce typing.
Definition numerical_irreducible_decomposition.hpp:123
void Run() override
the main functions
Definition numerical_irreducible_decomposition.hpp:166
const EndgameType & GetEndgame() const
Definition numerical_irreducible_decomposition.hpp:215
const SystemType & TargetSystem() const
Definition numerical_irreducible_decomposition.hpp:142
void Solve()
Perform the numerical irreducible decomposition.
Definition numerical_irreducible_decomposition.hpp:176
TolerancesConfig Tolerances
Tolerances configuration type.
Definition numerical_irreducible_decomposition.hpp:134
void DefaultSetup()
setup functions
Definition numerical_irreducible_decomposition.hpp:229
EndgameType EndgameT
The endgame type.
Definition numerical_irreducible_decomposition.hpp:118
ResultT RegenerativeCascade()
Run the regenerative cascade.
Definition numerical_irreducible_decomposition.hpp:186
SharpeningConfig Sharpening
Sharpening configuration type.
Definition numerical_irreducible_decomposition.hpp:135
PostProcessingConfig PostProcessing
Post-processing configuration type.
Definition numerical_irreducible_decomposition.hpp:136
nag_datatype::NumericalIrreducibleDecomposition< BaseComplexT > ResultT
The decomposition result type.
Definition numerical_irreducible_decomposition.hpp:138
TrackerType TrackerT
The path-tracker type.
Definition numerical_irreducible_decomposition.hpp:117
virtual ~NumericalIrreducibleDecomposition()=default
Configuration for post-processing solutions (reality/finiteness/singularity classification).
Definition config.hpp:140
Configuration for the regeneration cascade.
Definition config.hpp:116
Configuration for sharpening computed solutions.
Definition config.hpp:100
Newton and path-tracking tolerances.
Definition config.hpp:69
A basic typelist, in the style of Modern C++ Design, but using variadic templates.
Definition typelist.hpp:42
Trait lookup mapping a tracker type to its numeric types, event-emitter type, precision config,...
Definition config.hpp:387
Includes all files for tracking in Bertini2.
Contains the visitable base types.