/// An alternate set of permissible exit conditions suitable for
/// use when extremely close to a minimum.
///
/// # Citation:
/// Hager 2004, p. 181
An alternate set of permissible exit conditions suitable for
use when extremely close to a minimum.
An alternate set of permissible exit conditions suitable for use when extremely close to a minimum .
fn approx_wolfe_conditions(&self, bound: Bound) -> bool {
        let Settings { armijo_coeff, curvature_coeff, .. } = self.params;
        let Bound { slope, .. } = bound;
        let Bound { slope: zero_slope, .. } = self.initial;
        assert!(zero_slope < 0.0);
        // Slope-based approximation of armijo condition,
        // equivalent up to second order in alpha.
        let armijo_slope = slope <= (2.0 * armijo_coeff - 1.0) * zero_slope;
        // This is the standard curvature condition, which permits all
        // positive slopes (NOTE: zero_slope is negative) as opposed to
        // the "strong" curvature condition which caps the absolute value.
        let curvature = slope >= curvature_coeff * zero_slope;
        armijo_slope && curvature
    }
fn approx_wolfe_conditions ( & self , bound : Bound ) -> bool { let Settings { armijo_coeff , curvature_coeff , .. } = self . params ; let Bound { slope , .. } = bound ; let Bound { slope : zero_slope , .. } = self . initial ; assert ! ( zero_slope 0.0 ) ; // Slope-based approximation of armijo condition, // equivalent up to second order in alpha. let armijo_slope = slope <= ( 2.0 * armijo_coeff - 1.0 ) * zero_slope ; // This is the standard curvature condition, which permits all // positive slopes (NOTE: zero_slope is negative) as opposed to // the "strong" curvature condition which caps the absolute value. let curvature = slope >= curvature_coeff * zero_slope ; armijo_slope && curvature }
An alternate set of permissible exit conditions suitable for
use when extremely close to a minimum.
An alternate set of permissible exit conditions suitable for use when extremely close to a minimum .
&self
bound
Bound
citation:
None