Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
uni20::linalg::SolveInfo Struct Reference

Diagnostics written by a completed numerical attempt, independent of dispatch. More...

#include <solve_info.hpp>

Public Member Functions

bool succeeded () const noexcept
 Report successful completion of the numerical operation.
 

Public Attributes

std::optional< std::size_t > pivot = {}
 Zero-based elimination column, present only for singular or small-pivot outcomes.
 
SolveStatus status = SolveStatus::success
 

Detailed Description

Diagnostics written by a completed numerical attempt, independent of dispatch.

Success provides no residual bound or conditioning guarantee. Except for nonfinite input, a failed attempt may have modified either workspace in a destructive one-shot solve; only success makes the RHS workspace a solution. An owning LuFactorization stays unchanged on RHS failure. For solves, zero-order systems and zero-column RHS matrices succeed without inspecting values. LU always examines a nonempty matrix, even without a RHS; success provides reusable factors. A singular log-determinant has the conventional zero value despite its nonsuccess status. These diagnostics do not represent dispatch declines.

Member Function Documentation

◆ succeeded()

bool uni20::linalg::SolveInfo::succeeded ( ) const
inlinenoexcept

Report successful completion of the numerical operation.

Member Data Documentation

◆ pivot

std::optional<std::size_t> uni20::linalg::SolveInfo::pivot = {}

Zero-based elimination column, present only for singular or small-pivot outcomes.

This is not an original row index. Pivot choices and failure classification can differ between backends.

◆ status

SolveStatus uni20::linalg::SolveInfo::status = SolveStatus::success

The documentation for this struct was generated from the following file: