pub struct TrustRegion<R, F> { /* private fields */ }
Expand description
The trust region method approximates the cost function within a certain region around the current point in parameter space. Depending on the quality of this approximation, the region is either expanded or contracted.
The calculation of the actual step length and direction is done by one of the following methods:
This subproblem can be set via set_subproblem(...)
. If this is not provided, it will default
to the Steihaug method.
§References:
[0] Jorge Nocedal and Stephen J. Wright (2006). Numerical Optimization. Springer. ISBN 0-387-30303-0.
Implementations§
Source§impl<R, F: ArgminFloat> TrustRegion<R, F>
impl<R, F: ArgminFloat> TrustRegion<R, F>
Trait Implementations§
Source§impl<R: Clone, F: Clone> Clone for TrustRegion<R, F>
impl<R: Clone, F: Clone> Clone for TrustRegion<R, F>
Source§fn clone(&self) -> TrustRegion<R, F>
fn clone(&self) -> TrustRegion<R, 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<'de, R, F> Deserialize<'de> for TrustRegion<R, F>where
R: Deserialize<'de>,
F: Deserialize<'de>,
impl<'de, R, F> Deserialize<'de> for TrustRegion<R, F>where
R: Deserialize<'de>,
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<R, F> Serialize for TrustRegion<R, F>
impl<R, F> Serialize for TrustRegion<R, F>
Source§impl<O, R, F> Solver<O> for TrustRegion<R, F>where
O: ArgminOp<Output = F, Float = F>,
O::Param: Default + Clone + Debug + Serialize + ArgminMul<F, O::Param> + ArgminWeightedDot<O::Param, F, O::Hessian> + ArgminNorm<F> + ArgminDot<O::Param, F> + ArgminAdd<O::Param, O::Param> + ArgminSub<O::Param, O::Param> + ArgminZeroLike,
O::Hessian: Default + Clone + Debug + Serialize + ArgminDot<O::Param, O::Param>,
R: ArgminTrustRegion<F> + Solver<OpWrapper<O>>,
F: ArgminFloat,
impl<O, R, F> Solver<O> for TrustRegion<R, F>where
O: ArgminOp<Output = F, Float = F>,
O::Param: Default + Clone + Debug + Serialize + ArgminMul<F, O::Param> + ArgminWeightedDot<O::Param, F, O::Hessian> + ArgminNorm<F> + ArgminDot<O::Param, F> + ArgminAdd<O::Param, O::Param> + ArgminSub<O::Param, O::Param> + ArgminZeroLike,
O::Hessian: Default + Clone + Debug + Serialize + ArgminDot<O::Param, O::Param>,
R: ArgminTrustRegion<F> + Solver<OpWrapper<O>>,
F: ArgminFloat,
Source§fn init(
&mut self,
op: &mut OpWrapper<O>,
state: &IterState<O>,
) -> Result<Option<ArgminIterData<O>>, Error>
fn init( &mut self, op: &mut OpWrapper<O>, state: &IterState<O>, ) -> Result<Option<ArgminIterData<O>>, Error>
Initializes the algorithm Read more
Source§fn next_iter(
&mut self,
op: &mut OpWrapper<O>,
state: &IterState<O>,
) -> Result<ArgminIterData<O>, Error>
fn next_iter( &mut self, op: &mut OpWrapper<O>, state: &IterState<O>, ) -> Result<ArgminIterData<O>, Error>
Computes one iteration of the algorithm.
Source§fn terminate(&mut self, _state: &IterState<O>) -> TerminationReason
fn terminate(&mut self, _state: &IterState<O>) -> TerminationReason
Checks whether the algorithm must be terminated
Source§fn terminate_internal(&mut self, state: &IterState<O>) -> TerminationReason
fn terminate_internal(&mut self, state: &IterState<O>) -> TerminationReason
Checks whether basic termination reasons apply. Read more
Auto Trait Implementations§
impl<R, F> Freeze for TrustRegion<R, F>
impl<R, F> RefUnwindSafe for TrustRegion<R, F>where
F: RefUnwindSafe,
R: RefUnwindSafe,
impl<R, F> Send for TrustRegion<R, F>
impl<R, F> Sync for TrustRegion<R, F>
impl<R, F> Unpin for TrustRegion<R, F>
impl<R, F> UnwindSafe for TrustRegion<R, F>where
F: UnwindSafe,
R: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more