Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
Loading...
Searching...
No Matches
bertini::tracking::amp Namespace Reference

Functions

double CriterionARHS (double const &norm_J, double const &norm_J_inverse, AdaptiveMultiplePrecisionConfig const &AMP_config)
 The right hand side of Criterion A, from [1], [2].
template<typename NumT>
bool CriterionA (double const &norm_J, double const &norm_J_inverse, AdaptiveMultiplePrecisionConfig const &AMP_config)
 Check AMP Criterion A.
double D (double const &norm_J, double const &norm_J_inverse, AdaptiveMultiplePrecisionConfig const &AMP_config)
 Compute the expression $D$ from the AMP papers [1], [2], [3].
double CriterionBRHS (double const &norm_J, double const &norm_J_inverse, unsigned num_newton_iterations_remaining, NumErrorT const &tracking_tolerance, double const &norm_of_latest_newton_residual, AdaptiveMultiplePrecisionConfig const &AMP_config)
 Evaluate the right hand side of the inequality of Criterion B.
template<typename NumT>
bool CriterionB (double const &norm_J, double const &norm_J_inverse, unsigned num_newton_iterations_remaining, NumErrorT const &tracking_tolerance, double const &norm_of_latest_newton_residual, AdaptiveMultiplePrecisionConfig const &AMP_config)
 Check AMP Criterion B.
double CriterionCRHS (double const &norm_J_inverse, double const &norm_z, NumErrorT const &tracking_tolerance, AdaptiveMultiplePrecisionConfig const &AMP_config)
 Evaluate the right hand side of Criterion C.
template<typename Derived>
double CriterionCRHS (double const &norm_J_inverse, const Eigen::MatrixBase< Derived > &z, NumErrorT tracking_tolerance, AdaptiveMultiplePrecisionConfig const &AMP_config)
 Evaluate the right hand side of Criterion C.
template<typename NumT, typename Derived>
bool CriterionC (double const &norm_J_inverse, const Eigen::MatrixBase< Derived > &z, NumErrorT tracking_tolerance, AdaptiveMultiplePrecisionConfig const &AMP_config)
 Check AMP Criterion C.

Function Documentation

◆ CriterionA()

template<typename NumT>
bool bertini::tracking::amp::CriterionA ( double const & norm_J,
double const & norm_J_inverse,
AdaptiveMultiplePrecisionConfig const & AMP_config )

Check AMP Criterion A.

From [1], [2].

True means the check passed, and the precision is all good. False means something's gotta change, stepsize or precision.

Parameters
norm_JThe matrix norm of the Jacobian matrix
norm_J_inverseAn estimate on the norm of the inverse of the Jacobian matrix.
AMP_configThe settings for adaptive multiple precision.
Template Parameters
NumTThe real number type
Returns
True if criteria satisfied, false if violated and precision or step length should be adjusted.

◆ CriterionARHS()

double bertini::tracking::amp::CriterionARHS ( double const & norm_J,
double const & norm_J_inverse,
AdaptiveMultiplePrecisionConfig const & AMP_config )
inline

The right hand side of Criterion A, from [1], [2].

see CriterionA

◆ CriterionB()

template<typename NumT>
bool bertini::tracking::amp::CriterionB ( double const & norm_J,
double const & norm_J_inverse,
unsigned num_newton_iterations_remaining,
NumErrorT const & tracking_tolerance,
double const & norm_of_latest_newton_residual,
AdaptiveMultiplePrecisionConfig const & AMP_config )

Check AMP Criterion B.

This is Criterion B from [1], [2]. True means the check passed, and the precision is all good. False means something's gotta change, stepsize or precision.

Parameters
norm_JThe matrix norm of the Jacobian matrix
norm_J_inverseAn estimate on the norm of the inverse of the Jacobian matrix.
num_newton_iterations_remainingThe number of iterations which have yet to perform.
tracking_toleranceThe tightness to which the path should be tracked. This is the raw tracking tolerance (for now)
norm_of_latest_newton_residualThe norm of the length of the most recent Newton step.
AMP_configThe settings for adaptive multiple precision.
Template Parameters
NumTThe numeric type.
Returns
True if criteria satisfied, false if violated and precision or step length should be adjusted.

◆ CriterionBRHS()

double bertini::tracking::amp::CriterionBRHS ( double const & norm_J,
double const & norm_J_inverse,
unsigned num_newton_iterations_remaining,
NumErrorT const & tracking_tolerance,
double const & norm_of_latest_newton_residual,
AdaptiveMultiplePrecisionConfig const & AMP_config )
inline

Evaluate the right hand side of the inequality of Criterion B.

From [1], [2].

Parameters
norm_JThe matrix norm of the Jacobian matrix
norm_J_inverseAn estimate on the norm of the inverse of the Jacobian matrix.
num_newton_iterations_remainingThe number of iterations which have yet to perform.
tracking_toleranceThe tightness to which the path should be tracked. This is the raw tracking tolerance (for now)
norm_of_latest_newton_residualThe norm of the length of the most recent Newton step.
AMP_configThe settings for adaptive multiple precision.
Returns
The value of the right hand side of Criterion B

◆ CriterionC()

template<typename NumT, typename Derived>
bool bertini::tracking::amp::CriterionC ( double const & norm_J_inverse,
const Eigen::MatrixBase< Derived > & z,
NumErrorT tracking_tolerance,
AdaptiveMultiplePrecisionConfig const & AMP_config )

Check AMP Criterion C.

This is Criterion C from [1].

True means the check passed, and the precision is all good. False means something's gotta change, stepsize or precision.

Parameters
norm_J_inverseAn estimate on the norm of the inverse of the Jacobian matrix.
zThe current space point.
tracking_toleranceThe tightness to which the path should be tracked. This is the raw tracking tolerance
AMP_configThe settings for adaptive multiple precision.
Returns
A boolean indicating whether the criterion is satisfied. True means path tracking can continue without modifying tracking settings. False means that corrective action should be taken.

◆ CriterionCRHS() [1/2]

template<typename Derived>
double bertini::tracking::amp::CriterionCRHS ( double const & norm_J_inverse,
const Eigen::MatrixBase< Derived > & z,
NumErrorT tracking_tolerance,
AdaptiveMultiplePrecisionConfig const & AMP_config )

Evaluate the right hand side of Criterion C.

This is Criterion C from [1], [2].

Parameters
norm_J_inverseAn estimate on the norm of the inverse of the Jacobian matrix.
tracking_toleranceThe tightness to which the path should be tracked. This is the raw tracking tolerance
zThe current space point.
AMP_configThe settings for adaptive multiple precision.
Returns
The value of the right hand side of the inequality from Criterion C.

◆ CriterionCRHS() [2/2]

double bertini::tracking::amp::CriterionCRHS ( double const & norm_J_inverse,
double const & norm_z,
NumErrorT const & tracking_tolerance,
AdaptiveMultiplePrecisionConfig const & AMP_config )
inline

Evaluate the right hand side of Criterion C.

This is Criterion C, from [1], [2].

Parameters
norm_J_inverseAn estimate on the norm of the inverse of the Jacobian matrix.
tracking_toleranceThe tightness to which the path should be tracked. This is the raw tracking tolerance
norm_zThe norm of the current space point.
AMP_configThe settings for adaptive multiple precision.
Returns
The value of the right hand side of the inequality from Criterion C.

◆ D()

double bertini::tracking::amp::D ( double const & norm_J,
double const & norm_J_inverse,
AdaptiveMultiplePrecisionConfig const & AMP_config )
inline

Compute the expression $D$ from the AMP papers [1], [2], [3].

Parameters
norm_JThe matrix norm of the Jacobian matrix
norm_J_inverseAn estimate on the norm of the inverse of the Jacobian matrix.
AMP_configThe settings for adaptive multiple precision.
Returns
a double scalar, the quantity $D$ from the AMP papers [1], [2], [3].