|
Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
|
Classes | |
| class | AMPEndgame |
| Specifies some necessaries for AMP style endgame implementations, which differ from the fixed precision ones. More... | |
| struct | EGPrecSelector< tracking::AMPTracker > |
| Selects the AMP endgame precision policy for the adaptive-precision tracker. More... | |
| class | EndgameBase |
| Base endgame class for all endgames offered in Bertini2. More... | |
| class | CauchyEndgame |
| Class used to finish tracking paths during Homotopy Continuation. More... | |
| class | PowerSeriesEndgame |
| class used to finish tracking paths during Homotopy Continuation More... | |
| class | FixedPrecEndgame |
| Fixed-precision endgame precision policy (refines and ensures precision at a single working precision). More... | |
| struct | EGPrecSelector |
| Base empty class. More... | |
| struct | EndgameSelector |
| Facilitates lookup of required endgame type based on tracker type. More... | |
| struct | SecurityConfig |
| Security (divergence-bailout) configuration for an endgame. More... | |
| struct | EndgameConfig |
| Configuration common to all endgames (sampling and final-approximation tolerances). More... | |
| struct | PowerSeriesConfig |
| Power-series-endgame configuration. More... | |
| struct | CauchyConfig |
| Cauchy-endgame configuration. More... | |
| struct | TrackBackConfig |
| Track-back endgame configuration. More... | |
| struct | AlgoTraits |
| struct | AlgoTraits< PowerSeriesEndgame< PrecT > > |
| specialization for PowerSeries, which uses CRTP More... | |
| struct | AlgoTraits< CauchyEndgame< PrecT > > |
| specialization for Cauchy, which uses CRTP More... | |
| class | ComputedSamplePoint |
| A new sample point on the path was computed, adding one point to the sequence of the endgame's approach to the target time. More... | |
| class | CircleAdvanced |
| Advanced around the circle around target time. More... | |
| class | PrecisionChanged |
| Event emitted when the endgame's working precision changes. More... | |
| struct | EGPrecSelector< tracking::DoublePrecisionTracker > |
| Selects the fixed-precision endgame policy for the double-precision tracker. More... | |
| struct | EGPrecSelector< tracking::MultiplePrecisionTracker > |
| Selects the fixed-precision endgame policy for the multiple-precision tracker. More... | |
| struct | EGPrecSelector< tracking::FixedPrecisionTracker< D > > |
| Selects the fixed-precision endgame policy for a fixed-precision tracker. More... | |
| struct | GoryDetailLogger |
| Logs the endgame run, with gory detail. More... | |
| struct | EventRecorder |
| Counts endgame events and captures their payloads, for tests and diagnostics. More... | |
| struct | SampleSequenceCollector |
| Collects an endgame's approach to the root as a time-indexed sequence, for callers that need to watch a quantity BEHAVE as the point improves rather than judge it at a single point. More... | |
| class | EndgamePrecPolicyBase |
| A common base type for various precision types, fixed and adaptive. More... | |
Functions | |
| ADD_BERTINI_EVENT_TYPE (EndgameEvent, ConstEvent) | |
| Generic event for Endgames. | |
| ADD_BERTINI_EVENT_TYPE (EndgameFailure, ConstEvent) | |
| Generic failure event for Endgames. | |
| ADD_BERTINI_EVENT_TYPE (EndgameSuccess, ConstEvent) | |
| Generic success event for Endgames. | |
| ADD_BERTINI_EVENT_TYPE (MinTrackTimeReached, EndgameFailure) | |
| MinTrackTime reached during endgame. | |
| ADD_BERTINI_EVENT_TYPE (RefiningFailed, EndgameFailure) | |
| Refining a sample failed for some reason. | |
| ADD_BERTINI_EVENT_TYPE (CycleNumTooHigh, EndgameFailure) | |
| Cycle number computed was too high. | |
| ADD_BERTINI_EVENT_TYPE (SecurityMaxNormReached, EndgameFailure) | |
| Security max norm reached. | |
| ADD_BERTINI_EVENT_TYPE (Initializing, EndgameEvent) | |
| Started running the endgame. | |
| ADD_BERTINI_EVENT_TYPE (SamplesRecomputedAtHigherPrecision, EndgameEvent) | |
| The adaptive endgame needed a higher precision before it had its first approximation, and recomputes its sample window at the new precision. | |
| ADD_BERTINI_EVENT_TYPE (TimeAdvanced, EndgameEvent) | |
| Time advancing. | |
| ADD_BERTINI_EVENT_TYPE (ClosedLoop, EndgameEvent) | |
| Walked a complete loop around the target time. | |
| ADD_BERTINI_EVENT_TYPE (ApproximatedRoot, EndgameEvent) | |
| Approximated a root at target time. | |
| ADD_BERTINI_EVENT_TYPE (Converged, EndgameSuccess) | |
| Converged – endgame is done! | |
| ADD_BERTINI_EVENT_TYPE (SampleRefined, EndgameEvent) | |
| Refined a sample. | |
| ADD_BERTINI_EVENT_TYPE (InEGOperatingZone, EndgameEvent) | |
| Made it into the EG operating zone, or so we believe. | |
| template<typename ComplexT> | |
| Vec< ComplexT > | HermiteInterpolateAndSolve (ComplexT const &target_time, const unsigned int num_sample_points, const TimeCont< ComplexT > ×, const SampCont< ComplexT > &samples, const SampCont< ComplexT > &derivatives, ContStart shift_from=ContStart::Back) |
| Estimates the root to interpolating polynomial. | |
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | ApproximatedRoot | , |
| EndgameEvent | ) |
Approximated a root at target time.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | ClosedLoop | , |
| EndgameEvent | ) |
Walked a complete loop around the target time.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | Converged | , |
| EndgameSuccess | ) |
Converged – endgame is done!
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | CycleNumTooHigh | , |
| EndgameFailure | ) |
Cycle number computed was too high.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | EndgameEvent | , |
| ConstEvent | ) |
Generic event for Endgames.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | EndgameFailure | , |
| ConstEvent | ) |
Generic failure event for Endgames.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | EndgameSuccess | , |
| ConstEvent | ) |
Generic success event for Endgames.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | InEGOperatingZone | , |
| EndgameEvent | ) |
Made it into the EG operating zone, or so we believe.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | Initializing | , |
| EndgameEvent | ) |
Started running the endgame.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | MinTrackTimeReached | , |
| EndgameFailure | ) |
MinTrackTime reached during endgame.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | RefiningFailed | , |
| EndgameFailure | ) |
Refining a sample failed for some reason.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | SampleRefined | , |
| EndgameEvent | ) |
Refined a sample.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | SamplesRecomputedAtHigherPrecision | , |
| EndgameEvent | ) |
The adaptive endgame needed a higher precision before it had its first approximation, and recomputes its sample window at the new precision.
The samples it announced at the lower precision are superseded – the endgame discards them and tracks the window again from the boundary point – so an observer keeping the sequence of samples should drop them too. (A precision increase LATER in the run, once approximations exist, keeps the samples and widens them in place; that one announces only PrecisionChanged.) Emitted right after the matching PrecisionChanged.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | SecurityMaxNormReached | , |
| EndgameFailure | ) |
Security max norm reached.
| bertini::endgame::ADD_BERTINI_EVENT_TYPE | ( | TimeAdvanced | , |
| EndgameEvent | ) |
Time advancing.
| Vec< ComplexT > bertini::endgame::HermiteInterpolateAndSolve | ( | ComplexT const & | target_time, |
| const unsigned int | num_sample_points, | ||
| const TimeCont< ComplexT > & | times, | ||
| const SampCont< ComplexT > & | samples, | ||
| const SampCont< ComplexT > & | derivatives, | ||
| ContStart | shift_from = ContStart::Back ) |
Estimates the root to interpolating polynomial.
Input: target_time is the time value that we wish to interpolate at. samples are space values that correspond to the time values in times. derivatives are the dx_dt or dx_ds values at the (time,sample) values.
Output: Since we have a target_time the function returns the corrsponding space value at that time.
Details: We compare our approximations to the tracked value to come up with the cycle number. Also, we use the Hermite interpolation to interpolate at the origin. Once two interpolants are withing FinalTol we say we have converged.
| target_time | The time value that we wish to interpolate at. |
| num_sample_points | The number of (time, sample) points used in the interpolation. |
| times | The time values of the samples used for interpolation. |
| samples | The space values corresponding to the time values in times. |
| derivatives | The dx/dt (or dx/ds) values at the (time, sample) points. |
| shift_from | Which end of the sample containers to interpolate from. |
| ComplexT | The complex number type. |