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

The preconditioner for the saddle-point minimizer. More...

#include <SaddlePointPrecondMatrix.h>

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

Public Member Functions

 SaddlePointPrecondMatrix (const CostFct_ &j)
 
void multiply (const SPVector_ &, SPVector_ &) const
 

Private Types

typedef Increment< MODEL > Increment_
 
typedef ControlIncrement< MODEL > CtrlInc_
 
typedef CostFctWeak< MODEL > CostFctWeak_
 
typedef CostFunction< MODEL > CostFct_
 
typedef SaddlePointVector< MODEL > SPVector_
 

Private Member Functions

void Lhatinv (const CtrlInc_ &, CtrlInc_ &, const int) const
 
void Lhatinvt (const CtrlInc_ &, CtrlInc_ &, const int) const
 

Private Attributes

const CostFctWeak_j_
 
const bool idmodel_
 

Detailed Description

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

The preconditioner for the saddle-point minimizer.

The solvers represent matrices as objects that implement a "multiply" method. This class defines objects that apply the saddle-point matrix.

Definition at line 33 of file SaddlePointPrecondMatrix.h.

Member Typedef Documentation

◆ CostFct_

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

Definition at line 37 of file SaddlePointPrecondMatrix.h.

◆ CostFctWeak_

template<typename MODEL>
typedef CostFctWeak<MODEL> oops::SaddlePointPrecondMatrix< MODEL >::CostFctWeak_
private

Definition at line 36 of file SaddlePointPrecondMatrix.h.

◆ CtrlInc_

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

Definition at line 35 of file SaddlePointPrecondMatrix.h.

◆ Increment_

template<typename MODEL>
typedef Increment<MODEL> oops::SaddlePointPrecondMatrix< MODEL >::Increment_
private

Definition at line 34 of file SaddlePointPrecondMatrix.h.

◆ SPVector_

template<typename MODEL>
typedef SaddlePointVector<MODEL> oops::SaddlePointPrecondMatrix< MODEL >::SPVector_
private

Definition at line 38 of file SaddlePointPrecondMatrix.h.

Constructor & Destructor Documentation

◆ SaddlePointPrecondMatrix()

template<typename MODEL >
oops::SaddlePointPrecondMatrix< MODEL >::SaddlePointPrecondMatrix ( const CostFct_ j)
explicit

Definition at line 55 of file SaddlePointPrecondMatrix.h.

Member Function Documentation

◆ Lhatinv()

template<typename MODEL >
void oops::SaddlePointPrecondMatrix< MODEL >::Lhatinv ( const CtrlInc_ xx,
CtrlInc_ zz,
const int  norder 
) const
private

Definition at line 88 of file SaddlePointPrecondMatrix.h.

◆ Lhatinvt()

template<typename MODEL >
void oops::SaddlePointPrecondMatrix< MODEL >::Lhatinvt ( const CtrlInc_ xx,
CtrlInc_ zz,
const int  norder 
) const
private

Definition at line 103 of file SaddlePointPrecondMatrix.h.

◆ multiply()

template<typename MODEL >
void oops::SaddlePointPrecondMatrix< MODEL >::multiply ( const SPVector_ x,
SPVector_ z 
) const

Definition at line 63 of file SaddlePointPrecondMatrix.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ idmodel_

template<typename MODEL>
const bool oops::SaddlePointPrecondMatrix< MODEL >::idmodel_
private

Definition at line 49 of file SaddlePointPrecondMatrix.h.

◆ j_

template<typename MODEL>
const CostFctWeak_& oops::SaddlePointPrecondMatrix< MODEL >::j_
private

Definition at line 48 of file SaddlePointPrecondMatrix.h.


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