Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
Loading...
Searching...
No Matches
amp_tracker.hpp File Reference

Contains the AMPTracker type, and necessary functions. More...

#include <assert.h>
#include <optional>
#include "bertini2/trackers/base_tracker.hpp"
Include dependency graph for amp_tracker.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  bertini::tracking::AMPTracker
 Functor-like class for tracking paths on a system. More...

Namespaces

namespace  bertini
namespace  bertini::tracking

Functions

real_mp bertini::tracking::MinTimeForCurrentPrecision (unsigned precision, real_mp const &time_to_go, int safety_digits=3)
 The minimum time that can be represented effectively using a given precision.
real_mp bertini::tracking::MinStepSizeForPrecision (unsigned precision, real_mp const &time_to_go, int safety_digits=3)
 Just another name for MinTimeForCurrentPrecision.
double bertini::tracking::ArithmeticCost (unsigned precision)
 Compute the cost function for arithmetic versus precision.
template<typename RealT>
RealT bertini::tracking::StepsizeSatisfyingCriterionB (unsigned precision, unsigned digits_B, unsigned num_newton_iterations, unsigned predictor_order=0)
 Compute a stepsize satisfying AMP Criterion B with a given precision.
unsigned bertini::tracking::MinDigitsForLogOfStepsize (real_mp const &log_of_stepsize, real_mp const &time_to_go, unsigned safety_digits=3)
 The minimum number of digits based on a log10 of a stepsize.
unsigned bertini::tracking::MinDigitsForStepsizeInterval (real_mp const &min_stepsize, real_mp const &max_stepsize, real_mp const &time_to_go)
 For a given range of stepsizes under consideration, gives the minimum number of digits.
unsigned bertini::tracking::ExtraDigitsBeforePrecisionDecrease (unsigned current_precision)
 Bertini 1's precision-decrease hysteresis margin (from B1's AMP2_update).
void bertini::tracking::ApplyPrecisionDecreaseMargin (int &digits_required, unsigned current_digits, unsigned extra)
 Apply B1's precision-decrease hysteresis to one digits requirement (B1 AMP2_update).
template<typename RealT>
void bertini::tracking::MinimizeTrackingCost (unsigned &new_precision, RealT &new_stepsize, unsigned min_precision, RealT const &min_stepsize, unsigned max_precision, RealT const &max_stepsize, unsigned digits_B, unsigned num_newton_iterations, unsigned predictor_order=0)
 Compute precision and stepsize minimizing the ArithmeticCost() of tracking.
template<typename T>
T bertini::tracking::max (T const &a, T const &b, T const &c)
 Three-argument form of max.

Detailed Description

Contains the AMPTracker type, and necessary functions.