Trait argmin::solver::linesearch::condition::LineSearchCondition[][src]

pub trait LineSearchCondition<T, F>: Serialize {
    fn eval(
        &self,
        cur_cost: F,
        cur_grad: T,
        init_cost: F,
        init_grad: T,
        search_direction: T,
        alpha: F
    ) -> bool;
fn requires_cur_grad(&self) -> bool; }
Expand description

Needs to be implemented by everything that wants to be a LineSearchCondition

Required methods

fn eval(
    &self,
    cur_cost: F,
    cur_grad: T,
    init_cost: F,
    init_grad: T,
    search_direction: T,
    alpha: F
) -> bool
[src]

Evaluate the condition

fn requires_cur_grad(&self) -> bool[src]

Indicates whether this condition requires the computation of the gradient at the new point

Implementors

impl<T, F> LineSearchCondition<T, F> for ArmijoCondition<F> where
    T: ArgminDot<T, F>,
    F: ArgminFloat + Serialize + DeserializeOwned
[src]

fn eval(
    &self,
    cur_cost: F,
    _cur_grad: T,
    init_cost: F,
    init_grad: T,
    search_direction: T,
    alpha: F
) -> bool
[src]

fn requires_cur_grad(&self) -> bool[src]

impl<T, F> LineSearchCondition<T, F> for GoldsteinCondition<F> where
    T: ArgminDot<T, F>,
    F: ArgminFloat + Serialize + DeserializeOwned
[src]

fn eval(
    &self,
    cur_cost: F,
    _cur_grad: T,
    init_cost: F,
    init_grad: T,
    search_direction: T,
    alpha: F
) -> bool
[src]

fn requires_cur_grad(&self) -> bool[src]

impl<T, F> LineSearchCondition<T, F> for StrongWolfeCondition<F> where
    T: Clone + ArgminDot<T, F>,
    F: ArgminFloat + Serialize + DeserializeOwned
[src]

fn eval(
    &self,
    cur_cost: F,
    cur_grad: T,
    init_cost: F,
    init_grad: T,
    search_direction: T,
    alpha: F
) -> bool
[src]

fn requires_cur_grad(&self) -> bool[src]

impl<T, F> LineSearchCondition<T, F> for WolfeCondition<F> where
    T: Clone + ArgminDot<T, F>,
    F: ArgminFloat + DeserializeOwned + Serialize
[src]

fn eval(
    &self,
    cur_cost: F,
    cur_grad: T,
    init_cost: F,
    init_grad: T,
    search_direction: T,
    alpha: F
) -> bool
[src]

fn requires_cur_grad(&self) -> bool[src]