|
Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
|
A concise, human-readable summary of a zero-dimensional solve: how every path ended up, and – crucially – whether any path was lost. More...
#include <zero_dim_solve.hpp>
Public Attributes | |
| unsigned long long | num_paths_tracked = 0 |
| total paths tracked (the Bezout / start count) | |
| unsigned long long | num_finite_solutions = 0 |
| DISTINCT finite solutions (round of sum 1/multiplicity). | |
| unsigned long long | num_finite_endpoints = 0 |
| raw count of finite, successful endpoints | |
| unsigned long long | num_diverged = 0 |
| paths ending at infinity (Success & !finite, GoingToInfinity, or SecurityMaxNormReached truncation) | |
| unsigned long long | num_failed = 0 |
| paths the tracker could not resolve (no solution, no clean divergence) | |
| unsigned long long | num_singular = 0 |
| finite solutions flagged singular (multiple / ill-conditioned) | |
| unsigned long long | num_real = 0 |
| finite solutions flagged real | |
| unsigned long long | num_nonsolutions = 0 |
| finite endpoints that are NOT solutions of the target (nonsolutions of an over-determined, squared-up system) | |
| std::map< SuccessCode, unsigned long long > | failures_by_reason |
| histogram of the failed paths' SuccessCodes | |
| double | max_condition_number = 0 |
| largest condition number among finite solutions | |
| unsigned | max_precision_used = 0 |
| highest working precision any path needed (digits) | |
| MidpathCheckReport | midpath |
| the path-crossing check outcome | |
| bool | all_paths_resolved = false |
| num_failed==0 AND no unresolved crossings: the solve is trustworthy | |
A concise, human-readable summary of a zero-dimensional solve: how every path ended up, and – crucially – whether any path was lost.
A raw solution count can lie: if a near-singular path fails to track, a genuine root is silently missing and the count comes back short. This report buckets every endpoint into a finite solution, a clean divergence, or a genuine FAILURE (the tracker gave up), records the failures by their named SuccessCode, and exposes all_paths_resolved as the one-line health check.
| bool bertini::algorithm::SolveReport::all_paths_resolved = false |
num_failed==0 AND no unresolved crossings: the solve is trustworthy
| std::map<SuccessCode, unsigned long long> bertini::algorithm::SolveReport::failures_by_reason |
histogram of the failed paths' SuccessCodes
| double bertini::algorithm::SolveReport::max_condition_number = 0 |
largest condition number among finite solutions
| unsigned bertini::algorithm::SolveReport::max_precision_used = 0 |
highest working precision any path needed (digits)
| MidpathCheckReport bertini::algorithm::SolveReport::midpath |
the path-crossing check outcome
| unsigned long long bertini::algorithm::SolveReport::num_diverged = 0 |
paths ending at infinity (Success & !finite, GoingToInfinity, or SecurityMaxNormReached truncation)
| unsigned long long bertini::algorithm::SolveReport::num_failed = 0 |
paths the tracker could not resolve (no solution, no clean divergence)
| unsigned long long bertini::algorithm::SolveReport::num_finite_endpoints = 0 |
raw count of finite, successful endpoints
| unsigned long long bertini::algorithm::SolveReport::num_finite_solutions = 0 |
DISTINCT finite solutions (round of sum 1/multiplicity).
| unsigned long long bertini::algorithm::SolveReport::num_nonsolutions = 0 |
finite endpoints that are NOT solutions of the target (nonsolutions of an over-determined, squared-up system)
| unsigned long long bertini::algorithm::SolveReport::num_paths_tracked = 0 |
total paths tracked (the Bezout / start count)
| unsigned long long bertini::algorithm::SolveReport::num_real = 0 |
finite solutions flagged real
| unsigned long long bertini::algorithm::SolveReport::num_singular = 0 |
finite solutions flagged singular (multiple / ill-conditioned)