|
Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
|
Top-level configuration for a zero-dimensional solve (times, precision, threading). More...
#include <config.hpp>
Public Attributes | |
| unsigned | initial_ambient_precision = DefaultPrecision() |
| Initial ambient (working) precision for the solve. | |
| unsigned | max_num_crossed_path_resolve_attempts = 2 |
| The maximum number of times to attempt to re-solve crossed paths at the endgame boundary. | |
| unsigned | num_threads = 0 |
| Number of worker threads tracking paths, in a standalone solve and on each MPI rank. | |
| double | max_path_wall_clock_duration = 0 |
| Wall-clock budget for each path, in seconds; 0 (the default) means none. | |
| double | max_solve_wall_clock_duration = 0 |
| Wall-clock budget for the whole solve, in seconds; 0 (the default) means none. | |
| mpq_rational | start_time {1} |
| Homotopy start time (t=1). | |
| mpq_rational | endgame_boundary {1, 10} |
| Time at which tracking hands off to the endgame (t=1/10). | |
| mpq_rational | target_time {0} |
| Homotopy target time (t=0). | |
| std::string | path_variable_name = "ZERO_DIM_PATH_VARIABLE" |
| Name given to the homotopy's path variable. | |
Top-level configuration for a zero-dimensional solve (times, precision, threading).
| mpq_rational bertini::algorithm::ZeroDimConfig::endgame_boundary {1, 10} |
Time at which tracking hands off to the endgame (t=1/10).
| unsigned bertini::algorithm::ZeroDimConfig::initial_ambient_precision = DefaultPrecision() |
Initial ambient (working) precision for the solve.
| unsigned bertini::algorithm::ZeroDimConfig::max_num_crossed_path_resolve_attempts = 2 |
The maximum number of times to attempt to re-solve crossed paths at the endgame boundary.
| double bertini::algorithm::ZeroDimConfig::max_path_wall_clock_duration = 0 |
Wall-clock budget for each path, in seconds; 0 (the default) means none.
A path that has not finished when its budget runs out is abandoned between steps with SuccessCode::WallClockLimitReached, stamped with where it got to, and recorded with this limit. Deliberately NOT part of the configuration's identity: a budget says how long to wait for an answer, not what the answer is, so a 60 s and a 61 s run are the same ask; how an abandonment under one budget is treated by a later run is RecallPolicy's business. Wall-clock time is machine-dependent, so the same limit is the same amount of patience only on the same machine – the recorded stamp (steps, precision, time reached) is the machine-independent account.
| double bertini::algorithm::ZeroDimConfig::max_solve_wall_clock_duration = 0 |
Wall-clock budget for the whole solve, in seconds; 0 (the default) means none.
Counted from the start of Solve(). Once it runs out, no further path is started (those stay NeverStarted) and any path in flight is abandoned between steps – and the solve reads exactly as if it had been interrupted: WasStoppedEarly(), abandoned paths ExternallyTerminated, always re-tracked on recall. The per-path budget above is the finer tool (it guarantees progress path by path); this one is for a caller who thinks in terms of the whole call. Not part of the identity, for the same reason. Not applied to the MPI solve.
| unsigned bertini::algorithm::ZeroDimConfig::num_threads = 0 |
Number of worker threads tracking paths, in a standalone solve and on each MPI rank.
0 = auto (every CPU this process may run on, as OpenMP's default); 1 = serial (no thread pool). Overridden by the BERTINI_NUM_THREADS environment variable when set. See parallel::EffectiveThreadCount.
| std::string bertini::algorithm::ZeroDimConfig::path_variable_name = "ZERO_DIM_PATH_VARIABLE" |
Name given to the homotopy's path variable.
| mpq_rational bertini::algorithm::ZeroDimConfig::start_time {1} |
Homotopy start time (t=1).
| mpq_rational bertini::algorithm::ZeroDimConfig::target_time {0} |
Homotopy target time (t=0).