FV3 Bundle
oops::IPCGMinimizer< MODEL > Class Template Reference

IPCG Minimizer. More...

#include <IPCGMinimizer.h>

Inheritance diagram for oops::IPCGMinimizer< MODEL >:
[legend]
Collaboration diagram for oops::IPCGMinimizer< MODEL >:
[legend]

Public Member Functions

const std::string classname () const override
 
 IPCGMinimizer (const eckit::Configuration &, const CostFct_ &J)
 
 ~IPCGMinimizer ()
 
- Public Member Functions inherited from oops::PrimalMinimizer< MODEL >
 PrimalMinimizer (const CostFct_ &J)
 
 ~PrimalMinimizer ()
 
- 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 HessianMatrix< MODEL > Hessian_
 

Private Member Functions

double solve (CtrlInc_ &, const CtrlInc_ &, const Hessian_ &, const Bmat_ &, const int, const double) override
 

Detailed Description

template<typename MODEL>
class oops::IPCGMinimizer< MODEL >

IPCG Minimizer.

Implements the Golub-Ye Inexact-Preconditioned Conjugate Gradients algorithm.

Definition at line 32 of file IPCGMinimizer.h.

Member Typedef Documentation

◆ Bmat_

template<typename MODEL >
typedef BMatrix<MODEL> oops::IPCGMinimizer< MODEL >::Bmat_
private

Definition at line 33 of file IPCGMinimizer.h.

◆ CostFct_

template<typename MODEL >
typedef CostFunction<MODEL> oops::IPCGMinimizer< MODEL >::CostFct_
private

Definition at line 34 of file IPCGMinimizer.h.

◆ CtrlInc_

template<typename MODEL >
typedef ControlIncrement<MODEL> oops::IPCGMinimizer< MODEL >::CtrlInc_
private

Definition at line 35 of file IPCGMinimizer.h.

◆ Hessian_

template<typename MODEL >
typedef HessianMatrix<MODEL> oops::IPCGMinimizer< MODEL >::Hessian_
private

Definition at line 36 of file IPCGMinimizer.h.

Constructor & Destructor Documentation

◆ IPCGMinimizer()

template<typename MODEL >
oops::IPCGMinimizer< MODEL >::IPCGMinimizer ( const eckit::Configuration &  ,
const CostFct_ J 
)
inline

Definition at line 40 of file IPCGMinimizer.h.

◆ ~IPCGMinimizer()

template<typename MODEL >
oops::IPCGMinimizer< MODEL >::~IPCGMinimizer ( )
inline

Definition at line 41 of file IPCGMinimizer.h.

Member Function Documentation

◆ classname()

template<typename MODEL >
const std::string oops::IPCGMinimizer< MODEL >::classname ( ) const
inlineoverridevirtual

Implements oops::PrimalMinimizer< MODEL >.

Definition at line 39 of file IPCGMinimizer.h.

◆ solve()

template<typename MODEL >
double oops::IPCGMinimizer< MODEL >::solve ( CtrlInc_ dx,
const CtrlInc_ rhs,
const Hessian_ hessian,
const Bmat_ B,
const int  ninner,
const double  gnreduc 
)
overrideprivatevirtual

Implements oops::PrimalMinimizer< MODEL >.

Definition at line 52 of file IPCGMinimizer.h.

Here is the call graph for this function:

The documentation for this class was generated from the following file: