pub struct ConvergenceMonitor { /* private fields */ }Expand description
Monitors convergence of iterative algorithms such as belief propagation.
Tracks residuals, manages damping schedules, and detects convergence or divergence.
Implementations§
Source§impl ConvergenceMonitor
impl ConvergenceMonitor
Sourcepub fn new(
config: ConvergenceConfig,
schedule: DampingSchedule,
) -> Result<Self, ConvergenceError>
pub fn new( config: ConvergenceConfig, schedule: DampingSchedule, ) -> Result<Self, ConvergenceError>
Create a new convergence monitor with the given configuration and schedule.
Sourcepub fn with_default_config() -> Self
pub fn with_default_config() -> Self
Create a monitor with default configuration and fixed damping.
Sourcepub fn record_iteration(&mut self, residual: f64) -> bool
pub fn record_iteration(&mut self, residual: f64) -> bool
Record a new iteration with its residual.
Returns true if the algorithm should continue iterating,
false if converged, diverged, or max iterations reached.
Sourcepub fn current_damping(&self) -> f64
pub fn current_damping(&self) -> f64
Get the current damping factor.
Sourcepub fn state(&self) -> &ConvergenceState
pub fn state(&self) -> &ConvergenceState
Get a reference to the current convergence state.
Sourcepub fn is_converged(&self) -> bool
pub fn is_converged(&self) -> bool
Check if the algorithm has converged.
Sourcepub fn is_diverged(&self) -> bool
pub fn is_diverged(&self) -> bool
Check if the algorithm has diverged.
Sourcepub fn stats(&self) -> InferenceStats
pub fn stats(&self) -> InferenceStats
Get summary statistics from the inference run.
Auto Trait Implementations§
impl Freeze for ConvergenceMonitor
impl RefUnwindSafe for ConvergenceMonitor
impl Send for ConvergenceMonitor
impl Sync for ConvergenceMonitor
impl Unpin for ConvergenceMonitor
impl UnsafeUnpin for ConvergenceMonitor
impl UnwindSafe for ConvergenceMonitor
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> 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>
Converts
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>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
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.