11 #ifndef OOPS_ASSIMILATION_SADDLEPOINTPRECONDMATRIX_H_    12 #define OOPS_ASSIMILATION_SADDLEPOINTPRECONDMATRIX_H_    14 #include <boost/noncopyable.hpp>    32 template<
typename MODEL>
    54 template<
typename MODEL>
    62 template<
typename MODEL>
    74   j_.jb().multiplyB(z.
lambda().
dx(), l);
    78   Lhatinv(l, z.
dx(), norder);
    80   for (
unsigned jj = 0; jj < j_.nterms(); ++jj) {
    87 template<
typename MODEL>
    89                                               const int norder)
 const {
    94   for (
int i = 0; 
i < norder; ++
i) {
    95     j_.runTLM(ww, idmodel_);
   102 template<
typename MODEL>
   104                                                const int norder)
 const {
   109   for (
int i = 0; 
i < norder; ++
i) {
   110     j_.runADJ(ww, idmodel_);
   118 #endif  // OOPS_ASSIMILATION_SADDLEPOINTPRECONDMATRIX_H_ SaddlePointPrecondMatrix(const CostFct_ &j)
 
l_size ! loop over number of fields ke do je do i
 
CostFctWeak< MODEL > CostFctWeak_
 
void Lhatinv(const CtrlInc_ &, CtrlInc_ &, const int) const
 
ControlIncrement< MODEL > CtrlInc_
 
SaddlePointVector< MODEL > SPVector_
 
integer(long), parameter false
 
l_size ! loop over number of fields ke do j
 
CostFunction< MODEL > CostFct_
 
The namespace for the main oops code. 
 
Weak Constraint 4D-Var Cost Function. 
 
The preconditioner for the saddle-point minimizer. 
 
void Lhatinvt(const CtrlInc_ &, CtrlInc_ &, const int) const
 
Increment< MODEL > Increment_
 
Increment Class: Difference between two states. 
 
const Multipliers_ & lambda() const
Accessor method to get the lambda_ component. 
 
void multiply(const SPVector_ &, SPVector_ &) const
 
void append(GeneralizedDepartures *)
 
Control vector for the saddle point formulation. 
 
const CtrlInc_ & dx() const
Accessor method to get the dx_ component. 
 
boost::shared_ptr< const GeneralizedDepartures > getv(const unsigned) const