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

The Hessian matrix: \( B^{-1} + H^T R^{-1} H \). More...

#include <HessianMatrix.h>

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

Public Member Functions

 HessianMatrix (const CostFct_ &j, const bool test=false)
 
void multiply (const CtrlInc_ &dx, CtrlInc_ &dz) const
 

Private Types

typedef Increment< MODEL > Increment_
 
typedef ControlIncrement< MODEL > CtrlInc_
 
typedef CostFunction< MODEL > CostFct_
 
typedef JqTermTLAD< MODEL > JqTermTLAD_
 

Private Attributes

CostFct_ const & j_
 
bool test_
 
int iter_
 

Detailed Description

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

The Hessian matrix: \( B^{-1} + H^T R^{-1} H \).

The solvers represent matrices as objects that implement a "multiply" method. This class defines objects that apply a generalized Hessian matrix which includes all the terms of the cost function.

Definition at line 33 of file HessianMatrix.h.

Member Typedef Documentation

◆ CostFct_

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

Definition at line 36 of file HessianMatrix.h.

◆ CtrlInc_

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

Definition at line 35 of file HessianMatrix.h.

◆ Increment_

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

Definition at line 34 of file HessianMatrix.h.

◆ JqTermTLAD_

template<typename MODEL >
typedef JqTermTLAD<MODEL> oops::HessianMatrix< MODEL >::JqTermTLAD_
private

Definition at line 37 of file HessianMatrix.h.

Constructor & Destructor Documentation

◆ HessianMatrix()

template<typename MODEL >
oops::HessianMatrix< MODEL >::HessianMatrix ( const CostFct_ j,
const bool  test = false 
)
explicit

Definition at line 54 of file HessianMatrix.h.

Member Function Documentation

◆ multiply()

template<typename MODEL >
void oops::HessianMatrix< MODEL >::multiply ( const CtrlInc_ dx,
CtrlInc_ dz 
) const

Definition at line 61 of file HessianMatrix.h.

Here is the call graph for this function:

Member Data Documentation

◆ iter_

template<typename MODEL >
int oops::HessianMatrix< MODEL >::iter_
mutableprivate

Definition at line 48 of file HessianMatrix.h.

◆ j_

template<typename MODEL >
CostFct_ const& oops::HessianMatrix< MODEL >::j_
private

Definition at line 46 of file HessianMatrix.h.

◆ test_

template<typename MODEL >
bool oops::HessianMatrix< MODEL >::test_
private

Definition at line 47 of file HessianMatrix.h.


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