|
OOPS
|
#include <DRPLanczosMinimizer.h>


Public Member Functions | |
| const std::string | classname () const override |
| DRPLanczosMinimizer (const eckit::Configuration &, const CostFct_ &) | |
| ~DRPLanczosMinimizer () | |
Public Member Functions inherited from oops::DRMinimizer< MODEL, OBS > | |
| DRMinimizer (const CostFct_ &J) | |
| ~DRMinimizer () | |
Public Member Functions inherited from oops::Minimizer< MODEL, OBS > | |
| Minimizer (const CostFct_ &J) | |
| virtual | ~Minimizer () |
| ControlIncrement< MODEL, OBS > * | minimize (const eckit::Configuration &) |
Private Types | |
| typedef BMatrix< MODEL, OBS > | Bmat_ |
| typedef CostFunction< MODEL, OBS > | CostFct_ |
| typedef ControlIncrement< MODEL, OBS > | CtrlInc_ |
| typedef HtRinvHMatrix< MODEL, OBS > | HtRinvH_ |
Private Member Functions | |
| double | solve (CtrlInc_ &, CtrlInc_ &, CtrlInc_ &, const Bmat_ &, const HtRinvH_ &, const double, const double, const int, const double) override |
Private Attributes | |
| SpectralLMP< CtrlInc_ > | lmp_ |
| std::vector< std::unique_ptr< CtrlInc_ > > | hvecs_ |
| std::vector< std::unique_ptr< CtrlInc_ > > | vvecs_ |
| std::vector< std::unique_ptr< CtrlInc_ > > | zvecs_ |
| std::vector< double > | alphas_ |
| std::vector< double > | betas_ |
| eckit::LocalConfiguration | diagConf_ |
DRPLanczos Minimizer.
Derber-Rosati Preconditioned Lanczos solver.
This solver is the Lanczos version of the DRPCG algorithm It solves \( Ax=b\) for the particular case \( A=B^{-1}+C\), without requiring the application of \( B^{-1}\).
A must be square, symmetric, positive definite.
A preconditioner must be supplied that, given a vector q, returns an approximation to \( (AB)^{-1} q\). Possible preconditioning is detailed in S. Gurol, PhD Manuscript, 2013. Note that the traditional \( B\)-preconditioning corresponds to precond= \(I\).
On entry:
On exit, dxh will contain \( B^{-1} x\) where x is the solution. The return value is the achieved reduction in residual norm.
Iteration will stop if the maximum iteration limit "maxiter" is reached or if the residual norm reduces by a factor of "tolerance".
Each matrix must implement a method:
which applies the matrix to the first argument, and returns the matrix-vector product in the second. (Note: the const is optional, but recommended.)
Definition at line 76 of file DRPLanczosMinimizer.h.
|
private |
Definition at line 77 of file DRPLanczosMinimizer.h.
|
private |
Definition at line 78 of file DRPLanczosMinimizer.h.
|
private |
Definition at line 79 of file DRPLanczosMinimizer.h.
|
private |
Definition at line 80 of file DRPLanczosMinimizer.h.
| oops::DRPLanczosMinimizer< MODEL, OBS >::DRPLanczosMinimizer | ( | const eckit::Configuration & | conf, |
| const CostFct_ & | J | ||
| ) |
Definition at line 106 of file DRPLanczosMinimizer.h.
|
inline |
Definition at line 85 of file DRPLanczosMinimizer.h.
|
inlineoverridevirtual |
Implements oops::DRMinimizer< MODEL, OBS >.
Definition at line 83 of file DRPLanczosMinimizer.h.
|
overrideprivatevirtual |
Implements oops::DRMinimizer< MODEL, OBS >.
Definition at line 114 of file DRPLanczosMinimizer.h.

|
private |
Definition at line 96 of file DRPLanczosMinimizer.h.
|
private |
Definition at line 97 of file DRPLanczosMinimizer.h.
|
private |
Definition at line 100 of file DRPLanczosMinimizer.h.
|
private |
Definition at line 93 of file DRPLanczosMinimizer.h.
|
private |
Definition at line 91 of file DRPLanczosMinimizer.h.
|
private |
Definition at line 94 of file DRPLanczosMinimizer.h.
|
private |
Definition at line 95 of file DRPLanczosMinimizer.h.