Struct argmin::solver::trustregion::CauchyPoint
source · [−]pub struct CauchyPoint<F> { /* private fields */ }
Expand description
Cauchy point method
The Cauchy point is the minimum of the quadratic approximation of the cost function within the trust region along the direction given by the first derivative.
Requirements on the optimization problem
The optimization problem is required to implement Gradient
and Hessian
.
Reference
Jorge Nocedal and Stephen J. Wright (2006). Numerical Optimization. Springer. ISBN 0-387-30303-0.
Implementations
sourceimpl<F> CauchyPoint<F> where
F: ArgminFloat,
impl<F> CauchyPoint<F> where
F: ArgminFloat,
Trait Implementations
sourceimpl<F: Clone> Clone for CauchyPoint<F>
impl<F: Clone> Clone for CauchyPoint<F>
sourcefn clone(&self) -> CauchyPoint<F>
fn clone(&self) -> CauchyPoint<F>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<F: Debug> Debug for CauchyPoint<F>
impl<F: Debug> Debug for CauchyPoint<F>
sourceimpl<F: Default> Default for CauchyPoint<F>
impl<F: Default> Default for CauchyPoint<F>
sourcefn default() -> CauchyPoint<F>
fn default() -> CauchyPoint<F>
Returns the “default value” for a type. Read more
sourceimpl<'de, F> Deserialize<'de> for CauchyPoint<F> where
F: Deserialize<'de>,
impl<'de, F> Deserialize<'de> for CauchyPoint<F> where
F: Deserialize<'de>,
sourcefn 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
sourceimpl<F: PartialEq> PartialEq<CauchyPoint<F>> for CauchyPoint<F>
impl<F: PartialEq> PartialEq<CauchyPoint<F>> for CauchyPoint<F>
sourcefn eq(&self, other: &CauchyPoint<F>) -> bool
fn eq(&self, other: &CauchyPoint<F>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &CauchyPoint<F>) -> bool
fn ne(&self, other: &CauchyPoint<F>) -> bool
This method tests for !=
.
sourceimpl<F: PartialOrd> PartialOrd<CauchyPoint<F>> for CauchyPoint<F>
impl<F: PartialOrd> PartialOrd<CauchyPoint<F>> for CauchyPoint<F>
sourcefn partial_cmp(&self, other: &CauchyPoint<F>) -> Option<Ordering>
fn partial_cmp(&self, other: &CauchyPoint<F>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl<F> Serialize for CauchyPoint<F> where
F: Serialize,
impl<F> Serialize for CauchyPoint<F> where
F: Serialize,
sourceimpl<O, F, P, G, H> Solver<O, IterState<P, G, (), H, F>> for CauchyPoint<F> where
O: Gradient<Param = P, Gradient = G> + Hessian<Param = P, Hessian = H>,
P: Clone + ArgminMul<F, P> + ArgminWeightedDot<P, F, H> + ArgminNorm<F>,
G: ArgminMul<F, P> + ArgminWeightedDot<G, F, H> + ArgminNorm<F>,
F: ArgminFloat,
impl<O, F, P, G, H> Solver<O, IterState<P, G, (), H, F>> for CauchyPoint<F> where
O: Gradient<Param = P, Gradient = G> + Hessian<Param = P, Hessian = H>,
P: Clone + ArgminMul<F, P> + ArgminWeightedDot<P, F, H> + ArgminNorm<F>,
G: ArgminMul<F, P> + ArgminWeightedDot<G, F, H> + ArgminNorm<F>,
F: ArgminFloat,
sourcefn next_iter(
&mut self,
problem: &mut Problem<O>,
state: IterState<P, G, (), H, F>
) -> Result<(IterState<P, G, (), H, F>, Option<KV>), Error>
fn next_iter(
&mut self,
problem: &mut Problem<O>,
state: IterState<P, G, (), H, F>
) -> Result<(IterState<P, G, (), H, F>, Option<KV>), Error>
sourcefn terminate(&mut self, state: &IterState<P, G, (), H, F>) -> TerminationReason
fn terminate(&mut self, state: &IterState<P, G, (), H, F>) -> TerminationReason
Used to implement stopping criteria, in particular criteria which are not covered by
(terminate_internal
. Read more
sourcefn init(
&mut self,
_problem: &mut Problem<O>,
state: I
) -> Result<(I, Option<KV>), Error>
fn init(
&mut self,
_problem: &mut Problem<O>,
state: I
) -> Result<(I, Option<KV>), Error>
Initializes the algorithm. Read more
sourcefn terminate_internal(&mut self, state: &I) -> TerminationReason
fn terminate_internal(&mut self, state: &I) -> TerminationReason
Checks whether basic termination reasons apply. Read more
sourceimpl<F> TrustRegionRadius<F> for CauchyPoint<F> where
F: ArgminFloat,
impl<F> TrustRegionRadius<F> for CauchyPoint<F> where
F: ArgminFloat,
sourcefn set_radius(&mut self, radius: F)
fn set_radius(&mut self, radius: F)
Set current radius.
Needed by TrustRegion
.
Example
use argmin::solver::trustregion::{CauchyPoint, TrustRegionRadius};
let mut cp: CauchyPoint<f64> = CauchyPoint::new();
cp.set_radius(0.8);
impl<F: Copy> Copy for CauchyPoint<F>
impl<F: Eq> Eq for CauchyPoint<F>
impl<F> StructuralEq for CauchyPoint<F>
impl<F> StructuralPartialEq for CauchyPoint<F>
Auto Trait Implementations
impl<F> RefUnwindSafe for CauchyPoint<F> where
F: RefUnwindSafe,
impl<F> Send for CauchyPoint<F> where
F: Send,
impl<F> Sync for CauchyPoint<F> where
F: Sync,
impl<F> Unpin for CauchyPoint<F> where
F: Unpin,
impl<F> UnwindSafe for CauchyPoint<F> where
F: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more