Struct SolveReport
pub struct SolveReport { /* private fields */ }Description
Auditable evidence for one accepted solve.
Implementations§
§impl SolveReport
impl SolveReport
pub fn accepted(
solver_provider: SolverProvider,
execution_provider: ExecutionProvider,
execution: ExecutionReport,
orientation: LinearOperatorOrientation,
plan: SolverPlan,
reason: ConvergenceReason,
completed_iterations: usize,
initial_residual_norm: f64,
reported_residual_norm: f64,
true_residual_norm: f64,
residual_target: f64,
) -> Result<SolveReport, Diagnostic>
pub fn accepted( solver_provider: SolverProvider, execution_provider: ExecutionProvider, execution: ExecutionReport, orientation: LinearOperatorOrientation, plan: SolverPlan, reason: ConvergenceReason, completed_iterations: usize, initial_residual_norm: f64, reported_residual_norm: f64, true_residual_norm: f64, residual_target: f64, ) -> Result<SolveReport, Diagnostic>
Construct evidence after independent true-residual acceptance.
§Errors
Returns EQ0802 for non-finite/negative values, inconsistent
termination evidence, an exceeded iteration limit, or an unaccepted
true residual.
pub const fn solver_provider(&self) -> SolverProvider
pub const fn solver_provider(&self) -> SolverProvider
Stable solver identity and declared release/dependency inventory.
pub const fn execution_provider(&self) -> ExecutionProvider
pub const fn execution_provider(&self) -> ExecutionProvider
Stable production-execution identity and declared release/dependency inventory.
pub const fn execution(&self) -> ExecutionReport
pub const fn execution(&self) -> ExecutionReport
Operator execution placement, separate from the solver algorithm.
pub const fn verification_provider(&self) -> ExecutionProvider
pub const fn verification_provider(&self) -> ExecutionProvider
Stable verifier identity and declared release/dependency inventory.
pub const fn verification(&self) -> ExecutionReport
pub const fn verification(&self) -> ExecutionReport
Placement used for the independent true-residual acceptance check.
pub const fn orientation(&self) -> LinearOperatorOrientation
pub const fn orientation(&self) -> LinearOperatorOrientation
Orientation of the independently verified linear action.
pub const fn preconditioner(&self) -> PreconditionerPolicy
pub const fn preconditioner(&self) -> PreconditionerPolicy
Preconditioner policy.
pub const fn reduction(&self) -> ReductionPolicy
pub const fn reduction(&self) -> ReductionPolicy
Reduction policy.
pub const fn solver_plan(&self) -> SolverPlan
pub const fn solver_plan(&self) -> SolverPlan
Exact solver policy used to produce and accept the solution.
pub const fn reason(&self) -> ConvergenceReason
pub const fn reason(&self) -> ConvergenceReason
Successful termination condition.
pub const fn completed_iterations(&self) -> usize
pub const fn completed_iterations(&self) -> usize
Completed iterations.
pub const fn initial_residual_norm(&self) -> f64
pub const fn initial_residual_norm(&self) -> f64
Residual norm of the initial guess.
pub const fn reported_residual_norm(&self) -> f64
pub const fn reported_residual_norm(&self) -> f64
Recursive/backend-reported residual norm.
pub const fn true_residual_norm(&self) -> f64
pub const fn true_residual_norm(&self) -> f64
Independently recomputed ||b - A x||_2.
pub const fn residual_target(&self) -> f64
pub const fn residual_target(&self) -> f64
Accepted absolute residual threshold.
Trait Implementations§
§impl Clone for SolveReport
impl Clone for SolveReport
§impl Debug for SolveReport
impl Debug for SolveReport
§impl PartialEq for SolveReport
impl PartialEq for SolveReport
§fn eq(&self, other: &SolveReport) -> bool
fn eq(&self, other: &SolveReport) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SolveReport
Auto Trait Implementations§
impl Freeze for SolveReport
impl RefUnwindSafe for SolveReport
impl Send for SolveReport
impl Sync for SolveReport
impl Unpin for SolveReport
impl UnsafeUnpin for SolveReport
impl UnwindSafe for SolveReport
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> From<T> for T
impl<T> From<T> for T
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.