[][src]Enum levenberg_marquardt::TerminationReason

pub enum TerminationReason {
    User(&'static str),
    Numerical(&'static str),
    ResidualsZero,
    Orthogonal,
    Converged {
        ftol: bool,
        xtol: bool,
    },
    NoImprovementPossible(&'static str),
    LostPatience,
    NoParameters,
    NoResiduals,
    WrongDimensions(&'static str),
}

Reasons for terminating the minimization.

Variants

User(&'static str)

The residual or Jacobian computation was not successful, it returned None.

Numerical(&'static str)

Encountered NaN or $\pm\infty$.

ResidualsZero

The residuals are literally zero.

Orthogonal

The residuals vector and the Jacobian columns are almost orthogonal.

This is the gtol termination criterion.

Converged

The ftol or xtol criterion was fulfilled.

Fields of Converged

ftol: boolxtol: bool
NoImprovementPossible(&'static str)

The bound for ftol, xtol or gtol was set so low that the test passed with the machine epsilon but not with the actual bound. This means you must increase the bound.

LostPatience

Maximum number of function evaluations was hit.

NoParameters

The number of parameters $n$ is zero.

NoResiduals

The number of residuals $m$ is zero.

WrongDimensions(&'static str)

The shape of the computed residuals or Jacobian is not correct.

Implementations

impl TerminationReason[src]

pub fn was_successful(&self) -> bool[src]

Compute whether the outcome is considered successful.

This does not necessarily mean we have a minimizer. Some termination criteria are approximations for necessary optimality conditions or check limitations due to floating point arithmetic.

pub fn was_usage_issue(&self) -> bool[src]

A fundamental assumptions was not met.

For example if the number of residuals changed.

Trait Implementations

impl Debug for TerminationReason[src]

impl Eq for TerminationReason[src]

impl PartialEq<TerminationReason> for TerminationReason[src]

impl StructuralEq for TerminationReason[src]

impl StructuralPartialEq for TerminationReason[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,