Struct argmin::solver::linesearch::condition::StrongWolfeCondition
source · pub struct StrongWolfeCondition<F> { /* private fields */ }
Expand description
Strong Wolfe conditions
Assures that a step length satisfies a “sufficient decrease” in cost function value (see
ArmijoCondition
as well as that
the absolute value of the slope has been reduced sufficiently (thus making it more likely to be
close to a critical point).
Implementations§
source§impl<F> StrongWolfeCondition<F>where
F: ArgminFloat,
impl<F> StrongWolfeCondition<F>where F: ArgminFloat,
Trait Implementations§
source§impl<F: Clone> Clone for StrongWolfeCondition<F>
impl<F: Clone> Clone for StrongWolfeCondition<F>
source§fn clone(&self) -> StrongWolfeCondition<F>
fn clone(&self) -> StrongWolfeCondition<F>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<F: Debug> Debug for StrongWolfeCondition<F>
impl<F: Debug> Debug for StrongWolfeCondition<F>
source§impl<F: Default> Default for StrongWolfeCondition<F>
impl<F: Default> Default for StrongWolfeCondition<F>
source§fn default() -> StrongWolfeCondition<F>
fn default() -> StrongWolfeCondition<F>
Returns the “default value” for a type. Read more
source§impl<'de, F> Deserialize<'de> for StrongWolfeCondition<F>where
F: Deserialize<'de>,
impl<'de, F> Deserialize<'de> for StrongWolfeCondition<F>where F: Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<T, G, F> LineSearchCondition<T, G, F> for StrongWolfeCondition<F>where
G: ArgminDot<T, F>,
F: ArgminFloat,
impl<T, G, F> LineSearchCondition<T, G, F> for StrongWolfeCondition<F>where G: ArgminDot<T, F>, F: ArgminFloat,
source§fn evaluate_condition(
&self,
current_cost: F,
current_gradient: Option<&G>,
initial_cost: F,
initial_gradient: &G,
search_direction: &T,
step_length: F
) -> bool
fn evaluate_condition( &self, current_cost: F, current_gradient: Option<&G>, initial_cost: F, initial_gradient: &G, search_direction: &T, step_length: F ) -> bool
Evaluate the condition Read more
source§fn requires_current_gradient(&self) -> bool
fn requires_current_gradient(&self) -> bool
Indicates whether this condition requires the computation of the gradient at the new point Read more
source§impl<F: PartialEq> PartialEq<StrongWolfeCondition<F>> for StrongWolfeCondition<F>
impl<F: PartialEq> PartialEq<StrongWolfeCondition<F>> for StrongWolfeCondition<F>
source§fn eq(&self, other: &StrongWolfeCondition<F>) -> bool
fn eq(&self, other: &StrongWolfeCondition<F>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.