Go to the documentation of this file.
11 #ifndef OOPS_ASSIMILATION_LBHESSIANMATRIX_H_
12 #define OOPS_ASSIMILATION_LBHESSIANMATRIX_H_
16 #include <boost/noncopyable.hpp>
24 template<
typename MODEL>
class JqTermTLAD;
33 template<
typename MODEL,
typename OBS>
class LBHessianMatrix :
private boost::noncopyable {
48 for (
unsigned jj = 0; jj <
j_.
nterms(); ++jj) {
72 for (
unsigned jj = 0; jj <
j_.
nterms(); ++jj) {
95 #endif // OOPS_ASSIMILATION_LBHESSIANMATRIX_H_
void multiplyB(const CtrlInc_ &, CtrlInc_ &) const
Multiply by covariance matrix and its inverse.
The namespace for the main oops code.
virtual std::unique_ptr< GeneralizedDepartures > multiplyCoInv(const GeneralizedDepartures &) const =0
virtual void zeroAD(CtrlInc_ &) const =0
void finalizeTL(JqTermTLAD_ *, const CtrlInc_ &, CtrlInc_ &) const
virtual void runTLM(CtrlInc_ &, PostProcessorTLAD< MODEL > &, PostProcessor< Increment_ > post=PostProcessor< Increment_ >(), const bool idModel=false) const =0
JqTermTLAD< MODEL > JqTermTLAD_
const CostBase_ & jterm(const unsigned ii) const
Access terms of the cost function other than .
void zero()
Linear algebra operators.
const JbTotal_ & jb() const
Access .
ControlIncrement< MODEL, OBS > CtrlInc_
virtual PostPtrTLAD_ setupAD(std::shared_ptr< const GeneralizedDepartures >, ControlIncrement< MODEL, OBS > &) const =0
Initialize before starting the AD run.
std::unique_ptr< GeneralizedDepartures > releaseOutputFromTL(unsigned int ii)
Get TL dual space output.
CostFunction< MODEL, OBS > CostFct_
void enrollProcessor(PostBaseTLAD_ *pp)
virtual void runADJ(CtrlInc_ &, PostProcessorTLAD< MODEL > &, PostProcessor< Increment_ > post=PostProcessor< Increment_ >(), const bool idModel=false) const =0
virtual PostPtrTLAD_ setupTL(const ControlIncrement< MODEL, OBS > &) const =0
Initialize before starting the TL run.
Control model post processing.
JqTermTLAD_ * initializeAD(CtrlInc_ &, const CtrlInc_ &) const
Initialize before starting the AD run.
void multiply(const CtrlInc_ &dx, CtrlInc_ &dz) const
void finalizeAD(JqTermTLAD_ *) const
LBHessianMatrix(const CostFct_ &j)
JqTermTLAD_ * initializeTL() const
Initialize before starting the TL run.