# [−][src]Struct argmin::solver::linesearch::backtracking::BacktrackingLineSearch

`pub struct BacktrackingLineSearch<P, L> { /* fields omitted */ }`

The Backtracking line search is a simple method to find a step length which obeys the Armijo (sufficient decrease) condition.

Example

# References:

[0] Jorge Nocedal and Stephen J. Wright (2006). Numerical Optimization. Springer. ISBN 0-387-30303-0.

[1] Wikipedia: https://en.wikipedia.org/wiki/Backtracking_line_search

Constructor

Set rho

## Trait Implementations

### `impl<P: Clone, L: Clone> Clone for BacktrackingLineSearch<P, L>`[src]

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

Performs copy-assignment from `source`. Read more

### `impl<O, P, L> Solver<O> for BacktrackingLineSearch<P, L> where    P: Clone + Default + Serialize + DeserializeOwned + ArgminSub<P, P> + ArgminDot<P, f64> + ArgminScaledAdd<P, f64, P>,    O: ArgminOp<Param = P, Output = f64>,    L: LineSearchCondition<P>, `[src]

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

Checks whether basic termination reasons apply. Read more

### `impl<P, L> ArgminLineSearch<P> for BacktrackingLineSearch<P, L> where    P: Clone + Serialize + ArgminSub<P, P> + ArgminDot<P, f64> + ArgminScaledAdd<P, f64, P>,    L: LineSearchCondition<P>, `[src]

#### `fn set_search_direction(&mut self, search_direction: P)`[src]

Set search direction

#### `fn set_init_alpha(&mut self, alpha: f64) -> Result<(), Error>`[src]

Set initial alpha value

## Blanket Implementations

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

#### `type Owned = T`

The resulting type after obtaining ownership.

### `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.

### `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.