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; }
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]
&self,
cur_cost: F,
cur_grad: T,
init_cost: F,
init_grad: T,
search_direction: T,
alpha: F
) -> bool
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]
impl<T, F> LineSearchCondition<T, F> for ArmijoCondition<F> where
T: ArgminDot<T, F>,
F: ArgminFloat + Serialize + DeserializeOwned,
[src]impl<T, F> LineSearchCondition<T, F> for GoldsteinCondition<F> where
T: ArgminDot<T, F>,
F: ArgminFloat + Serialize + DeserializeOwned,
[src]
impl<T, F> LineSearchCondition<T, F> for GoldsteinCondition<F> where
T: ArgminDot<T, F>,
F: ArgminFloat + Serialize + DeserializeOwned,
[src]impl<T, F> LineSearchCondition<T, F> for StrongWolfeCondition<F> where
T: Clone + ArgminDot<T, F>,
F: ArgminFloat + Serialize + DeserializeOwned,
[src]
impl<T, F> LineSearchCondition<T, F> for StrongWolfeCondition<F> where
T: Clone + ArgminDot<T, F>,
F: ArgminFloat + Serialize + DeserializeOwned,
[src]impl<T, F> LineSearchCondition<T, F> for WolfeCondition<F> where
T: Clone + ArgminDot<T, F>,
F: ArgminFloat + DeserializeOwned + Serialize,
[src]
impl<T, F> LineSearchCondition<T, F> for WolfeCondition<F> where
T: Clone + ArgminDot<T, F>,
F: ArgminFloat + DeserializeOwned + Serialize,
[src]