11 #ifndef OOPS_ASSIMILATION_SADDLEPOINTVECTOR_H_ 12 #define OOPS_ASSIMILATION_SADDLEPOINTVECTOR_H_ 14 #include <boost/scoped_ptr.hpp> 18 #include "oops/util/dot_product.h" 62 boost::scoped_ptr<CtrlInc_>
dx_;
67 template<
typename MODEL>
75 template<
typename MODEL>
127 lambda_->axpy(zz, *rhs.
lambda_);
128 dx_->axpy(zz, *rhs.
dx_);
135 return dot_product(*lambda_, *x2.
lambda_)
136 +dot_product(*dx_, *x2.
dx_);
143 #endif // OOPS_ASSIMILATION_SADDLEPOINTVECTOR_H_ DualVector< MODEL > Multipliers_
SaddlePointVector & operator-=(const SaddlePointVector &)
Container of dual space vectors for all terms of the cost function.
ControlIncrement< MODEL > CtrlInc_
SaddlePointVector & operator=(const SaddlePointVector &)
void lambda(Multipliers_ *lambda)
Accessor method to set the lambda_ component.
The namespace for the main oops code.
boost::scoped_ptr< Multipliers_ > lambda_
double dot_product_with(const SaddlePointVector &) const
void dx(CtrlInc_ *dx)
Accessor method to set the dx_ component.
const Multipliers_ & lambda() const
Accessor method to get the lambda_ component.
SaddlePointVector & operator+=(const SaddlePointVector &)
void axpy(const double, const SaddlePointVector &)
SaddlePointVector & operator*=(const double)
Control vector for the saddle point formulation.
const CtrlInc_ & dx() const
Accessor method to get the dx_ component.
boost::scoped_ptr< CtrlInc_ > dx_
SaddlePointVector(CtrlInc_ *, Multipliers_ *)