[][src]Struct lbfgs::Lbfgs

pub struct Lbfgs { /* fields omitted */ }

LBFGS Buffer

The Limited-memory BFGS algorithm is used to estimate curvature information for the gradient of a function as well as other operators and is often used in numerical optimization and numerical methods in general.

Lbfgs maintains a buffer of pairs (s,y) and values rho (inverse of inner products of s and y)

Methods

impl Lbfgs[src]

pub fn new(problem_size: NonZeroUsize, buffer_size: NonZeroUsize) -> Lbfgs[src]

Create a new L-BFGS instance with a specific problem and L-BFGS buffer size

pub fn with_cbfgs_alpha(self, alpha: f64) -> Self[src]

Update the default C-BFGS alpha

pub fn with_cbfgs_epsilon(self, epsilon: f64) -> Self[src]

Update the default C-BFGS epsilon

pub fn with_sy_epsilon(self, sy_epsilon: f64) -> Self[src]

Update the default sy_epsilon

pub fn reset(&mut self)[src]

"Empties" the buffer

This is a cheap operation as it amount to setting certain internal flags

pub fn apply_hessian(&mut self, g: &mut [f64])[src]

Apply the current Hessian estimate to an input vector

pub fn update_hessian(&mut self, g: &[f64], state: &[f64]) -> UpdateStatus[src]

Saves vectors to update the Hessian estimate

Trait Implementations

impl Debug for Lbfgs[src]

Auto Trait Implementations

impl Send for Lbfgs

impl Sync for Lbfgs

Blanket Implementations

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

impl<T> From for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

impl<T, U> TryInto 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<T> Any for T where
    T: 'static + ?Sized
[src]