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

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>

Collaboration diagram for bertini::algorithm::SolveReport:
[legend]

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

Detailed Description

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.

See also
ZeroDim::Report, SummarizeSolve

Member Data Documentation

◆ all_paths_resolved

bool bertini::algorithm::SolveReport::all_paths_resolved = false

num_failed==0 AND no unresolved crossings: the solve is trustworthy

◆ failures_by_reason

std::map<SuccessCode, unsigned long long> bertini::algorithm::SolveReport::failures_by_reason

histogram of the failed paths' SuccessCodes

◆ max_condition_number

double bertini::algorithm::SolveReport::max_condition_number = 0

largest condition number among finite solutions

◆ max_precision_used

unsigned bertini::algorithm::SolveReport::max_precision_used = 0

highest working precision any path needed (digits)

◆ midpath

MidpathCheckReport bertini::algorithm::SolveReport::midpath

the path-crossing check outcome

◆ num_diverged

unsigned long long bertini::algorithm::SolveReport::num_diverged = 0

paths ending at infinity (Success & !finite, GoingToInfinity, or SecurityMaxNormReached truncation)

◆ num_failed

unsigned long long bertini::algorithm::SolveReport::num_failed = 0

paths the tracker could not resolve (no solution, no clean divergence)

◆ num_finite_endpoints

unsigned long long bertini::algorithm::SolveReport::num_finite_endpoints = 0

raw count of finite, successful endpoints

◆ num_finite_solutions

unsigned long long bertini::algorithm::SolveReport::num_finite_solutions = 0

DISTINCT finite solutions (round of sum 1/multiplicity).

◆ num_nonsolutions

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)

◆ num_paths_tracked

unsigned long long bertini::algorithm::SolveReport::num_paths_tracked = 0

total paths tracked (the Bezout / start count)

◆ num_real

unsigned long long bertini::algorithm::SolveReport::num_real = 0

finite solutions flagged real

◆ num_singular

unsigned long long bertini::algorithm::SolveReport::num_singular = 0

finite solutions flagged singular (multiple / ill-conditioned)