FV3 Bundle
|
#include <DRPFOMMinimizer.h>
Public Member Functions | |
const std::string | classname () const override |
DRPFOMMinimizer (const eckit::Configuration &, const CostFct_ &) | |
~DRPFOMMinimizer () | |
Public Member Functions inherited from oops::DRMinimizer< MODEL > | |
DRMinimizer (const CostFct_ &J) | |
~DRMinimizer () | |
Public Member Functions inherited from oops::Minimizer< MODEL > | |
Minimizer (const CostFct_ &J) | |
virtual | ~Minimizer () |
ControlIncrement< MODEL > * | minimize (const eckit::Configuration &) |
Private Types | |
typedef BMatrix< MODEL > | Bmat_ |
typedef CostFunction< MODEL > | CostFct_ |
typedef ControlIncrement< MODEL > | CtrlInc_ |
typedef HtRinvHMatrix< MODEL > | 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_ |
boost::ptr_vector< CtrlInc_ > | hvecs_ |
boost::ptr_vector< CtrlInc_ > | vvecs_ |
boost::ptr_vector< CtrlInc_ > | zvecs_ |
std::vector< double > | alphas_ |
std::vector< double > | betas_ |
DRPFOM Minimizer.
Preconditioned Full Orthogonal Method (FOM) solver.
This solver is the generalization of the Lanczos method to the unsymmetric case. It solves \( Ax=b\) for the particular case \( A=B^{-1}+C\), without requiring the application of \( B^{-1}\).
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 67 of file DRPFOMMinimizer.h.
|
private |
Definition at line 68 of file DRPFOMMinimizer.h.
|
private |
Definition at line 69 of file DRPFOMMinimizer.h.
|
private |
Definition at line 70 of file DRPFOMMinimizer.h.
|
private |
Definition at line 71 of file DRPFOMMinimizer.h.
oops::DRPFOMMinimizer< MODEL >::DRPFOMMinimizer | ( | const eckit::Configuration & | conf, |
const CostFct_ & | J | ||
) |
Definition at line 95 of file DRPFOMMinimizer.h.
|
inline |
Definition at line 76 of file DRPFOMMinimizer.h.
|
inlineoverridevirtual |
Implements oops::DRMinimizer< MODEL >.
Definition at line 74 of file DRPFOMMinimizer.h.
|
overrideprivatevirtual |
Implements oops::DRMinimizer< MODEL >.
Definition at line 103 of file DRPFOMMinimizer.h.
|
private |
Definition at line 88 of file DRPFOMMinimizer.h.
|
private |
Definition at line 89 of file DRPFOMMinimizer.h.
|
private |
Definition at line 85 of file DRPFOMMinimizer.h.
|
private |
Definition at line 82 of file DRPFOMMinimizer.h.
|
private |
Definition at line 86 of file DRPFOMMinimizer.h.
|
private |
Definition at line 87 of file DRPFOMMinimizer.h.