pub struct ConvergenceTracker { /* private fields */ }Expand description
Tracks residual progress for an iterative solver and raises
Error::ConvergenceFailure when the iteration limit is exceeded.
Implementations§
Source§impl ConvergenceTracker
impl ConvergenceTracker
Sourcepub fn new(
operation: &'static str,
max_iterations: usize,
tolerance: f64,
) -> Self
pub fn new( operation: &'static str, max_iterations: usize, tolerance: f64, ) -> Self
Create a new tracker.
§Arguments
operation— human-readable name of the algorithm.max_iterations— maximum allowed iterations before failure.tolerance— convergence criterion (residual < tolerance ⟹ converged).
Sourcepub fn update(&mut self, residual: f64) -> Result<bool>
pub fn update(&mut self, residual: f64) -> Result<bool>
Record a residual for the current iteration and advance the counter.
Returns Ok(true) if converged, Ok(false) if still iterating,
or Err(Error::ConvergenceFailure) if the limit was reached.
Sourcepub fn iterations(&self) -> usize
pub fn iterations(&self) -> usize
Current iteration count.
Trait Implementations§
Source§impl Clone for ConvergenceTracker
impl Clone for ConvergenceTracker
Source§fn clone(&self) -> ConvergenceTracker
fn clone(&self) -> ConvergenceTracker
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ConvergenceTracker
impl RefUnwindSafe for ConvergenceTracker
impl Send for ConvergenceTracker
impl Sync for ConvergenceTracker
impl Unpin for ConvergenceTracker
impl UnsafeUnpin for ConvergenceTracker
impl UnwindSafe for ConvergenceTracker
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.