argmin::core

Trait ArgminNLCGBetaUpdate

Source
pub trait ArgminNLCGBetaUpdate<T, F: ArgminFloat>: Serialize {
    // Required method
    fn update(&self, nabla_f_k: &T, nabla_f_k_p_1: &T, p_k: &T) -> F;
}
Expand description

Common interface for beta update methods (Nonlinear-CG)

Required Methods§

Source

fn update(&self, nabla_f_k: &T, nabla_f_k_p_1: &T, p_k: &T) -> F

Update beta Parameter 1: \nabla f_k Parameter 2: \nabla f_{k+1} Parameter 3: p_k

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T, F> ArgminNLCGBetaUpdate<T, F> for FletcherReeves
where T: Clone + ArgminDot<T, F>, F: ArgminFloat,

Source§

impl<T, F> ArgminNLCGBetaUpdate<T, F> for HestenesStiefel
where T: Clone + ArgminDot<T, F> + ArgminSub<T, T> + ArgminNorm<F>, F: ArgminFloat,

Source§

impl<T, F> ArgminNLCGBetaUpdate<T, F> for PolakRibiere
where T: Clone + ArgminDot<T, F> + ArgminSub<T, T> + ArgminNorm<F>, F: ArgminFloat,

Source§

impl<T, F> ArgminNLCGBetaUpdate<T, F> for PolakRibierePlus
where T: Clone + ArgminDot<T, F> + ArgminSub<T, T> + ArgminNorm<F>, F: ArgminFloat,