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

Configuration common to all endgames (sampling and final-approximation tolerances). More...

#include <config.hpp>

Public Types

using T = NumErrorT
 The numeric (error) type.

Public Attributes

T sample_point_refinement_factor = 1e-2
 Extra tolerance for refining sample points before computing the final approximation.
unsigned num_sample_points = 3
 Number of sample points used per approximation.
T min_track_time = T(1e-100)
 Smallest time the endgame will track to (the neighborhood radius).
mpq_rational sample_factor {1, 2}
 Geometric factor between successive sample times (exact rational).
unsigned max_num_refinements = 4
 Maximum Newton refinements when sharpening endgame sample points. A tracked sample is already on the path to tracking tolerance (~1e-6), and Newton doubles the correct digits per iteration, so 4 covers any realistic refinement target (6 -> 12 -> 24 -> 48 -> 96 digits); more is never legitimately needed. (The old default of 15 was a remnant of poorly scaled random coefficient draws, since fixed by seed-rooted derivation.).
T final_tolerance = 1e-11
 The tolerance to which to compute the endpoint using the endgame.
bool refine_when_increasing_precision = false
 When true, re-refine retained samples after the endgame migrates to higher precision (default false).
T minimum_for_c_over_k_stabilization = T(3)/T(4)
 How closely successive c/k estimates must agree to count as settled, as a ratio of the smaller to the larger.
unsigned int num_needed_for_stabilization = 3
 How many consecutive c/k estimates must agree before the path is called to be in the endgame operating zone.

Detailed Description

Configuration common to all endgames (sampling and final-approximation tolerances).

Member Typedef Documentation

◆ T

The numeric (error) type.

Member Data Documentation

◆ final_tolerance

T bertini::endgame::EndgameConfig::final_tolerance = 1e-11

The tolerance to which to compute the endpoint using the endgame.

◆ max_num_refinements

unsigned bertini::endgame::EndgameConfig::max_num_refinements = 4

Maximum Newton refinements when sharpening endgame sample points. A tracked sample is already on the path to tracking tolerance (~1e-6), and Newton doubles the correct digits per iteration, so 4 covers any realistic refinement target (6 -> 12 -> 24 -> 48 -> 96 digits); more is never legitimately needed. (The old default of 15 was a remnant of poorly scaled random coefficient draws, since fixed by seed-rooted derivation.).

◆ min_track_time

T bertini::endgame::EndgameConfig::min_track_time = T(1e-100)

Smallest time the endgame will track to (the neighborhood radius).

◆ minimum_for_c_over_k_stabilization

T bertini::endgame::EndgameConfig::minimum_for_c_over_k_stabilization = T(3)/T(4)

How closely successive c/k estimates must agree to count as settled, as a ratio of the smaller to the larger.

◆ num_needed_for_stabilization

unsigned int bertini::endgame::EndgameConfig::num_needed_for_stabilization = 3

How many consecutive c/k estimates must agree before the path is called to be in the endgame operating zone.

◆ num_sample_points

unsigned bertini::endgame::EndgameConfig::num_sample_points = 3

Number of sample points used per approximation.

◆ refine_when_increasing_precision

bool bertini::endgame::EndgameConfig::refine_when_increasing_precision = false

When true, re-refine retained samples after the endgame migrates to higher precision (default false).

◆ sample_factor

mpq_rational bertini::endgame::EndgameConfig::sample_factor {1, 2}

Geometric factor between successive sample times (exact rational).

◆ sample_point_refinement_factor

T bertini::endgame::EndgameConfig::sample_point_refinement_factor = 1e-2

Extra tolerance for refining sample points before computing the final approximation.