Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
Loading...
Searching...
No Matches
bertini::parallel::FullPathResult< ComplexT > Struct Template Reference

Result of executing one WHOLE path: start -> endgame boundary -> target. More...

#include <path_result.hpp>

Collaboration diagram for bertini::parallel::FullPathResult< ComplexT >:
[legend]

Public Types

using SolnIndT = std::size_t
 The path-index type.
using RealT = typename NumTraits<ComplexT>::Real
 The real companion of the complex type.

Public Attributes

SolnIndT path_index = 0
 The index of the path this result is for.
SuccessCode pre_endgame_success_code = SuccessCode::NeverStarted
 Outcome of pre-endgame tracking to the boundary.
Vec< ComplexT > boundary_point
 The space point at the endgame boundary.
RealT boundary_stepsize = RealT(0)
 The step size at the endgame boundary.
unsigned boundary_precision = DoublePrecision()
 The precision at the endgame boundary.
SuccessCode endgame_success_code = SuccessCode::NeverStarted
 Outcome of the endgame.
Vec< ComplexT > solution
 The solution point (final endpoint of the path).
double function_residual = 0
 Residual of the system at the final solution.
double condition_number = 0
 Condition-number estimate at the final solution.
Vec< double > singular_values
 Singular values of the target Jacobian at the final solution, largest first (the spectrum behind condition_number).
double newton_residual = 0
 Final Newton residual.
ComplexT final_time_used
 The time value the endgame finished at.
double accuracy_estimate_internal_coords = 0
 Estimated accuracy in the solver's internal coordinates (homogenized, on the patch).
double accuracy_estimate_user_coords = 0
 Estimated accuracy in the user's coordinates.
unsigned cycle_num = 0
 The estimated cycle number at the endpoint.
unsigned precision_digits = 0
 Digits the endgame finished in (= solution point's precision).
unsigned accuracy_digits = 0
 Trustworthy digit count, from the convergence agreement.
bool precision_changed = false
 Whether precision changed during the path.
ComplexT time_of_first_prec_increase
 The time of the first precision increase (if any).
unsigned max_precision_used = 0
 The highest precision used over the whole path.
double path_time_seconds = 0
 Wall-clock seconds to execute the whole path.
unsigned num_successful_steps = 0
 Successful predictor-corrector steps over the whole path.
unsigned num_failed_steps = 0
 Failed predictor-corrector steps over the whole path.
Vec< ComplexT > latest_path_point
 The last point the tracker reached on a path that did not succeed; empty otherwise.
double wall_clock_limit_seconds = 0
 The per-path wall-clock budget in force when the path ran, seconds; 0 = none.
bool crossing_unresolved = false
 Whether a crossing involving this path was detected at the endgame boundary and never resolved, so its endpoint cannot be vouched for.

Detailed Description

template<typename ComplexT>
struct bertini::parallel::FullPathResult< ComplexT >

Result of executing one WHOLE path: start -> endgame boundary -> target.

The single result type for the speculative-full-path model. A worker carries a path through both the pre-endgame tracking and the endgame, so this bundles the boundary data (needed for the manager's midpath/crossing check) together with the final solution and all endgame metadata. The work item that produces it is a StartPointTask (path index + rank 0's start point).

Member Typedef Documentation

◆ RealT

template<typename ComplexT>
using bertini::parallel::FullPathResult< ComplexT >::RealT = typename NumTraits<ComplexT>::Real

The real companion of the complex type.

◆ SolnIndT

template<typename ComplexT>
using bertini::parallel::FullPathResult< ComplexT >::SolnIndT = std::size_t

The path-index type.

Member Data Documentation

◆ accuracy_digits

template<typename ComplexT>
unsigned bertini::parallel::FullPathResult< ComplexT >::accuracy_digits = 0

Trustworthy digit count, from the convergence agreement.

◆ accuracy_estimate_internal_coords

template<typename ComplexT>
double bertini::parallel::FullPathResult< ComplexT >::accuracy_estimate_internal_coords = 0

Estimated accuracy in the solver's internal coordinates (homogenized, on the patch).

◆ accuracy_estimate_user_coords

template<typename ComplexT>
double bertini::parallel::FullPathResult< ComplexT >::accuracy_estimate_user_coords = 0

Estimated accuracy in the user's coordinates.

◆ boundary_point

template<typename ComplexT>
Vec<ComplexT> bertini::parallel::FullPathResult< ComplexT >::boundary_point

The space point at the endgame boundary.

◆ boundary_precision

template<typename ComplexT>
unsigned bertini::parallel::FullPathResult< ComplexT >::boundary_precision = DoublePrecision()

The precision at the endgame boundary.

◆ boundary_stepsize

template<typename ComplexT>
RealT bertini::parallel::FullPathResult< ComplexT >::boundary_stepsize = RealT(0)

The step size at the endgame boundary.

◆ condition_number

template<typename ComplexT>
double bertini::parallel::FullPathResult< ComplexT >::condition_number = 0

Condition-number estimate at the final solution.

◆ crossing_unresolved

template<typename ComplexT>
bool bertini::parallel::FullPathResult< ComplexT >::crossing_unresolved = false

Whether a crossing involving this path was detected at the endgame boundary and never resolved, so its endpoint cannot be vouched for.

◆ cycle_num

template<typename ComplexT>
unsigned bertini::parallel::FullPathResult< ComplexT >::cycle_num = 0

The estimated cycle number at the endpoint.

◆ endgame_success_code

template<typename ComplexT>
SuccessCode bertini::parallel::FullPathResult< ComplexT >::endgame_success_code = SuccessCode::NeverStarted

Outcome of the endgame.

◆ final_time_used

template<typename ComplexT>
ComplexT bertini::parallel::FullPathResult< ComplexT >::final_time_used

The time value the endgame finished at.

◆ function_residual

template<typename ComplexT>
double bertini::parallel::FullPathResult< ComplexT >::function_residual = 0

Residual of the system at the final solution.

◆ latest_path_point

template<typename ComplexT>
Vec<ComplexT> bertini::parallel::FullPathResult< ComplexT >::latest_path_point

The last point the tracker reached on a path that did not succeed; empty otherwise.

◆ max_precision_used

template<typename ComplexT>
unsigned bertini::parallel::FullPathResult< ComplexT >::max_precision_used = 0

The highest precision used over the whole path.

◆ newton_residual

template<typename ComplexT>
double bertini::parallel::FullPathResult< ComplexT >::newton_residual = 0

Final Newton residual.

◆ num_failed_steps

template<typename ComplexT>
unsigned bertini::parallel::FullPathResult< ComplexT >::num_failed_steps = 0

Failed predictor-corrector steps over the whole path.

◆ num_successful_steps

template<typename ComplexT>
unsigned bertini::parallel::FullPathResult< ComplexT >::num_successful_steps = 0

Successful predictor-corrector steps over the whole path.

◆ path_index

template<typename ComplexT>
SolnIndT bertini::parallel::FullPathResult< ComplexT >::path_index = 0

The index of the path this result is for.

◆ path_time_seconds

template<typename ComplexT>
double bertini::parallel::FullPathResult< ComplexT >::path_time_seconds = 0

Wall-clock seconds to execute the whole path.

◆ pre_endgame_success_code

template<typename ComplexT>
SuccessCode bertini::parallel::FullPathResult< ComplexT >::pre_endgame_success_code = SuccessCode::NeverStarted

Outcome of pre-endgame tracking to the boundary.

◆ precision_changed

template<typename ComplexT>
bool bertini::parallel::FullPathResult< ComplexT >::precision_changed = false

Whether precision changed during the path.

◆ precision_digits

template<typename ComplexT>
unsigned bertini::parallel::FullPathResult< ComplexT >::precision_digits = 0

Digits the endgame finished in (= solution point's precision).

◆ singular_values

template<typename ComplexT>
Vec<double> bertini::parallel::FullPathResult< ComplexT >::singular_values

Singular values of the target Jacobian at the final solution, largest first (the spectrum behind condition_number).

◆ solution

template<typename ComplexT>
Vec<ComplexT> bertini::parallel::FullPathResult< ComplexT >::solution

The solution point (final endpoint of the path).

◆ time_of_first_prec_increase

template<typename ComplexT>
ComplexT bertini::parallel::FullPathResult< ComplexT >::time_of_first_prec_increase

The time of the first precision increase (if any).

◆ wall_clock_limit_seconds

template<typename ComplexT>
double bertini::parallel::FullPathResult< ComplexT >::wall_clock_limit_seconds = 0

The per-path wall-clock budget in force when the path ran, seconds; 0 = none.