Struct argmin::solver::trustregion::trustregion_method::TrustRegion [−][src]
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
impl<R, F: ArgminFloat> TrustRegion<R, F>
[src]
pub fn new(subproblem: R) -> Self
[src]
Constructor
pub fn radius(self, radius: F) -> Self
[src]
set radius
pub fn max_radius(self, max_radius: F) -> Self
[src]
Set maximum radius
pub fn eta(self, eta: F) -> Result<Self, Error>
[src]
Set eta
Trait Implementations
impl<R: Clone, F: Clone> Clone for TrustRegion<R, F>
[src]
fn clone(&self) -> TrustRegion<R, F>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'de, R, F> Deserialize<'de> for TrustRegion<R, F> where
R: Deserialize<'de>,
F: Deserialize<'de>,
[src]
R: Deserialize<'de>,
F: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<R, F> Serialize for TrustRegion<R, F> where
R: Serialize,
F: Serialize,
[src]
R: Serialize,
F: Serialize,
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
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,
[src]
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,
const NAME: &'static str
[src]
fn init(
&mut self,
op: &mut OpWrapper<O>,
state: &IterState<O>
) -> Result<Option<ArgminIterData<O>>, Error>
[src]
&mut self,
op: &mut OpWrapper<O>,
state: &IterState<O>
) -> Result<Option<ArgminIterData<O>>, Error>
fn next_iter(
&mut self,
op: &mut OpWrapper<O>,
state: &IterState<O>
) -> Result<ArgminIterData<O>, Error>
[src]
&mut self,
op: &mut OpWrapper<O>,
state: &IterState<O>
) -> Result<ArgminIterData<O>, Error>
fn terminate(&mut self, _state: &IterState<O>) -> TerminationReason
[src]
fn terminate_internal(&mut self, state: &IterState<O>) -> TerminationReason
[src]
Auto Trait Implementations
impl<R, F> RefUnwindSafe for TrustRegion<R, F> where
F: RefUnwindSafe,
R: RefUnwindSafe,
F: RefUnwindSafe,
R: RefUnwindSafe,
impl<R, F> Send for TrustRegion<R, F> where
F: Send,
R: Send,
F: Send,
R: Send,
impl<R, F> Sync for TrustRegion<R, F> where
F: Sync,
R: Sync,
F: Sync,
R: Sync,
impl<R, F> Unpin for TrustRegion<R, F> where
F: Unpin,
R: Unpin,
F: Unpin,
R: Unpin,
impl<R, F> UnwindSafe for TrustRegion<R, F> where
F: UnwindSafe,
R: UnwindSafe,
F: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?Sized,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,