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

A Minimizer knows how to minimize a cost function. More...

#include <Minimizer.h>

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

Public Member Functions

 Minimizer (const CostFct_ &J)
 
virtual ~Minimizer ()
 
ControlIncrement< MODEL > * minimize (const eckit::Configuration &)
 
virtual const std::string classname () const =0
 

Private Types

typedef CostFunction< MODEL > CostFct_
 
typedef ControlIncrement< MODEL > CtrlInc_
 
typedef DualVector< MODEL > Dual_
 
typedef HMatrix< MODEL > H_
 
typedef HtMatrix< MODEL > Ht_
 
typedef State< MODEL > State_
 

Private Member Functions

virtual ControlIncrement< MODEL > * doMinimize (const eckit::Configuration &)=0
 
void adjTests (const eckit::Configuration &)
 
void adjModelTest (const Ht_ &, const H_ &)
 
void adjObsTest (const Ht_ &, const H_ &)
 
void tlmTests (const eckit::Configuration &)
 
void tlmApproxTest (const H_ &)
 
void tlmTaylorTest (const H_ &)
 
void tlmPropagTest (const eckit::Configuration &config, const CtrlInc_ &)
 

Private Attributes

const CostFct_J_
 
int outerIteration_
 

Detailed Description

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

A Minimizer knows how to minimize a cost function.

Definition at line 39 of file Minimizer.h.

Member Typedef Documentation

◆ CostFct_

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

Definition at line 40 of file Minimizer.h.

◆ CtrlInc_

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

Definition at line 41 of file Minimizer.h.

◆ Dual_

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

Definition at line 42 of file Minimizer.h.

◆ H_

template<typename MODEL>
typedef HMatrix<MODEL> oops::Minimizer< MODEL >::H_
private

Definition at line 43 of file Minimizer.h.

◆ Ht_

template<typename MODEL>
typedef HtMatrix<MODEL> oops::Minimizer< MODEL >::Ht_
private

Definition at line 44 of file Minimizer.h.

◆ State_

template<typename MODEL>
typedef State<MODEL> oops::Minimizer< MODEL >::State_
private

Definition at line 45 of file Minimizer.h.

Constructor & Destructor Documentation

◆ Minimizer()

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

Definition at line 48 of file Minimizer.h.

◆ ~Minimizer()

template<typename MODEL>
virtual oops::Minimizer< MODEL >::~Minimizer ( )
inlinevirtual

Definition at line 49 of file Minimizer.h.

Member Function Documentation

◆ adjModelTest()

template<typename MODEL >
void oops::Minimizer< MODEL >::adjModelTest ( const Ht_ Ht,
const H_ H 
)
private

Definition at line 276 of file Minimizer.h.

Here is the call graph for this function:

◆ adjObsTest()

template<typename MODEL >
void oops::Minimizer< MODEL >::adjObsTest ( const Ht_ Ht,
const H_ H 
)
private

Definition at line 316 of file Minimizer.h.

Here is the call graph for this function:

◆ adjTests()

template<typename MODEL >
void oops::Minimizer< MODEL >::adjTests ( const eckit::Configuration &  config)
private

Definition at line 118 of file Minimizer.h.

◆ classname()

◆ doMinimize()

template<typename MODEL>
virtual ControlIncrement<MODEL>* oops::Minimizer< MODEL >::doMinimize ( const eckit::Configuration &  )
privatepure virtual

◆ minimize()

template<typename MODEL >
ControlIncrement< MODEL > * oops::Minimizer< MODEL >::minimize ( const eckit::Configuration &  config)

Definition at line 73 of file Minimizer.h.

◆ tlmApproxTest()

template<typename MODEL >
void oops::Minimizer< MODEL >::tlmApproxTest ( const H_ H)
private

Definition at line 141 of file Minimizer.h.

Here is the call graph for this function:

◆ tlmPropagTest()

template<typename MODEL >
void oops::Minimizer< MODEL >::tlmPropagTest ( const eckit::Configuration &  config,
const CtrlInc_ dx 
)
private

Definition at line 182 of file Minimizer.h.

Here is the call graph for this function:

◆ tlmTaylorTest()

template<typename MODEL >
void oops::Minimizer< MODEL >::tlmTaylorTest ( const H_ H)
private

Definition at line 218 of file Minimizer.h.

Here is the call graph for this function:

◆ tlmTests()

template<typename MODEL >
void oops::Minimizer< MODEL >::tlmTests ( const eckit::Configuration &  config)
private

Definition at line 95 of file Minimizer.h.

Member Data Documentation

◆ J_

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

Definition at line 66 of file Minimizer.h.

◆ outerIteration_

template<typename MODEL>
int oops::Minimizer< MODEL >::outerIteration_
private

Definition at line 67 of file Minimizer.h.


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