FV3 Bundle
oops::DualMinimizer< MODEL > Class Template Referenceabstract

Dual Minimizer. More...

#include <DualMinimizer.h>

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

Public Member Functions

 DualMinimizer (const CostFct_ &J)
 
 ~DualMinimizer ()
 
const std::string classname () const override=0
 
- Public Member Functions inherited from oops::Minimizer< MODEL >
 Minimizer (const CostFct_ &J)
 
virtual ~Minimizer ()
 
ControlIncrement< MODEL > * minimize (const eckit::Configuration &)
 

Private Types

typedef ControlIncrement< MODEL > CtrlInc_
 
typedef CostFunction< MODEL > CostFct_
 
typedef BMatrix< MODEL > Bmat_
 
typedef DualVector< MODEL > Dual_
 
typedef HBHtMatrix< MODEL > HBHt_
 
typedef Minimizer< MODEL > Minimizer_
 
typedef RinvMatrix< MODEL > Rinv_
 

Private Member Functions

CtrlInc_doMinimize (const eckit::Configuration &) override
 
virtual double solve (Dual_ &, double &, Dual_ &, const HBHt_ &, const Rinv_ &, const int &, const double &, Dual_ &, const double &)=0
 

Private Attributes

const CostFct_J_
 
boost::scoped_ptr< CtrlInc_gradJb_
 

Detailed Description

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

Dual Minimizer.

Base class for all dual (observation) space minimizers.

Definition at line 40 of file DualMinimizer.h.

Member Typedef Documentation

◆ Bmat_

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

Definition at line 43 of file DualMinimizer.h.

◆ CostFct_

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

Definition at line 42 of file DualMinimizer.h.

◆ CtrlInc_

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

Definition at line 41 of file DualMinimizer.h.

◆ Dual_

template<typename MODEL >
typedef DualVector<MODEL> oops::DualMinimizer< MODEL >::Dual_
private

Definition at line 44 of file DualMinimizer.h.

◆ HBHt_

template<typename MODEL >
typedef HBHtMatrix<MODEL> oops::DualMinimizer< MODEL >::HBHt_
private

Definition at line 45 of file DualMinimizer.h.

◆ Minimizer_

template<typename MODEL >
typedef Minimizer<MODEL> oops::DualMinimizer< MODEL >::Minimizer_
private

Definition at line 46 of file DualMinimizer.h.

◆ Rinv_

template<typename MODEL >
typedef RinvMatrix<MODEL> oops::DualMinimizer< MODEL >::Rinv_
private

Definition at line 47 of file DualMinimizer.h.

Constructor & Destructor Documentation

◆ DualMinimizer()

template<typename MODEL >
oops::DualMinimizer< MODEL >::DualMinimizer ( const CostFct_ J)
inlineexplicit

Definition at line 50 of file DualMinimizer.h.

◆ ~DualMinimizer()

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

Definition at line 51 of file DualMinimizer.h.

Member Function Documentation

◆ classname()

template<typename MODEL >
const std::string oops::DualMinimizer< MODEL >::classname ( ) const
overridepure virtual

◆ doMinimize()

template<typename MODEL >
ControlIncrement< MODEL > * oops::DualMinimizer< MODEL >::doMinimize ( const eckit::Configuration &  config)
overrideprivatevirtual

Implements oops::Minimizer< MODEL >.

Definition at line 66 of file DualMinimizer.h.

Here is the call graph for this function:

◆ solve()

template<typename MODEL >
virtual double oops::DualMinimizer< MODEL >::solve ( Dual_ ,
double &  ,
Dual_ ,
const HBHt_ ,
const Rinv_ ,
const int &  ,
const double &  ,
Dual_ ,
const double &   
)
privatepure virtual

Member Data Documentation

◆ gradJb_

template<typename MODEL >
boost::scoped_ptr<CtrlInc_> oops::DualMinimizer< MODEL >::gradJb_
private

Definition at line 60 of file DualMinimizer.h.

◆ J_

template<typename MODEL >
const CostFct_& oops::DualMinimizer< MODEL >::J_
private

Definition at line 59 of file DualMinimizer.h.


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