[−][src]Trait argmin::solver::linesearch::condition::LineSearchCondition
Needs to be implemented by everything that wants to be a LineSearchCondition
Required methods
fn eval(
&self,
cur_cost: f64,
cur_grad: T,
init_cost: f64,
init_grad: T,
search_direction: T,
alpha: f64
) -> bool
&self,
cur_cost: f64,
cur_grad: T,
init_cost: f64,
init_grad: T,
search_direction: T,
alpha: f64
) -> bool
Evaluate the condition
fn requires_cur_grad(&self) -> bool
Indicates whether this condition requires the computation of the gradient at the new point
Implementors
impl<T> LineSearchCondition<T> for ArmijoCondition where
T: ArgminDot<T, f64>,
[src]
T: ArgminDot<T, f64>,
fn eval(
&self,
cur_cost: f64,
_cur_grad: T,
init_cost: f64,
init_grad: T,
search_direction: T,
alpha: f64
) -> bool
[src]
&self,
cur_cost: f64,
_cur_grad: T,
init_cost: f64,
init_grad: T,
search_direction: T,
alpha: f64
) -> bool
fn requires_cur_grad(&self) -> bool
[src]
impl<T> LineSearchCondition<T> for GoldsteinCondition where
T: ArgminDot<T, f64>,
[src]
T: ArgminDot<T, f64>,
fn eval(
&self,
cur_cost: f64,
_cur_grad: T,
init_cost: f64,
init_grad: T,
search_direction: T,
alpha: f64
) -> bool
[src]
&self,
cur_cost: f64,
_cur_grad: T,
init_cost: f64,
init_grad: T,
search_direction: T,
alpha: f64
) -> bool
fn requires_cur_grad(&self) -> bool
[src]
impl<T> LineSearchCondition<T> for StrongWolfeCondition where
T: Clone + ArgminDot<T, f64>,
[src]
T: Clone + ArgminDot<T, f64>,
fn eval(
&self,
cur_cost: f64,
cur_grad: T,
init_cost: f64,
init_grad: T,
search_direction: T,
alpha: f64
) -> bool
[src]
&self,
cur_cost: f64,
cur_grad: T,
init_cost: f64,
init_grad: T,
search_direction: T,
alpha: f64
) -> bool
fn requires_cur_grad(&self) -> bool
[src]
impl<T> LineSearchCondition<T> for WolfeCondition where
T: Clone + ArgminDot<T, f64>,
[src]
T: Clone + ArgminDot<T, f64>,