Struct argmin::solver::trustregion::trustregion_method::TrustRegion[][src]

pub struct TrustRegion<R, F> { /* fields omitted */ }
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.

Example

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]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<'de, R, F> Deserialize<'de> for TrustRegion<R, F> where
    R: Deserialize<'de>,
    F: Deserialize<'de>, 
[src]

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl<R, F> Serialize for TrustRegion<R, F> where
    R: Serialize,
    F: Serialize
[src]

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

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]

const NAME: &'static str[src]

Name of the solver

fn init(
    &mut self,
    op: &mut OpWrapper<O>,
    state: &IterState<O>
) -> Result<Option<ArgminIterData<O>>, Error>
[src]

Initializes the algorithm Read more

fn next_iter(
    &mut self,
    op: &mut OpWrapper<O>,
    state: &IterState<O>
) -> Result<ArgminIterData<O>, Error>
[src]

Computes one iteration of the algorithm.

fn terminate(&mut self, _state: &IterState<O>) -> TerminationReason[src]

Checks whether the algorithm must be terminated

fn terminate_internal(&mut self, state: &IterState<O>) -> TerminationReason[src]

Checks whether basic termination reasons apply. Read more

Auto Trait Implementations

impl<R, F> RefUnwindSafe for TrustRegion<R, F> where
    F: RefUnwindSafe,
    R: RefUnwindSafe

impl<R, F> Send for TrustRegion<R, F> where
    F: Send,
    R: Send

impl<R, F> Sync for TrustRegion<R, F> where
    F: Sync,
    R: Sync

impl<R, F> Unpin for TrustRegion<R, F> where
    F: Unpin,
    R: Unpin

impl<R, F> UnwindSafe for TrustRegion<R, F> where
    F: UnwindSafe,
    R: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

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]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]