`pub struct ConjugateGradient<P> { /* fields omitted */ }`

The conjugate gradient method is a solver for systems of linear equations with a symmetric and positive-definite matrix.

Example

# References:

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

## Methods

### `impl<P> ConjugateGradient<P> where    P: Clone + Default, `[src]

#### `pub fn new(b: P) -> Result<Self, Error>`[src]

Constructor

Parameters:

`b`: right hand side of `A * x = b`

#### `pub fn p(&self) -> P`[src]

Return the current search direction (This is needed by NewtonCG for instance)

#### `pub fn p_prev(&self) -> P`[src]

Return the previous search direction (This is needed by NewtonCG for instance)

#### `pub fn residual(&self) -> P`[src]

Return the current residual (This is needed by NewtonCG for instance)

## Trait Implementations

### `impl<P: Clone> Clone for ConjugateGradient<P>`[src]

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

Performs copy-assignment from `source`. Read more

### `impl<P, O> Solver<O> for ConjugateGradient<P> where    O: ArgminOp<Param = P, Output = P>,    P: Clone + Serialize + DeserializeOwned + ArgminDot<P, f64> + ArgminSub<P, P> + ArgminScaledAdd<P, f64, P> + ArgminAdd<P, P> + ArgminNorm<f64> + ArgminMul<f64, P>, `[src]

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

Perform one iteration of SA algorithm

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

Checks whether basic termination reasons apply. Read more

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

Checks whether the algorithm must be terminated

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