11 #ifndef OOPS_ASSIMILATION_FGMRESMINIMIZER_H_ 12 #define OOPS_ASSIMILATION_FGMRESMINIMIZER_H_ 39 const std::string
classname()
const override {
return "FGMRESMinimizer";}
46 const int,
const double)
override;
51 template<
typename MODEL>
54 const int ninner,
const double gnreduc) {
56 double reduc =
FGMRES(dx, rhs, hessian, B, ninner, gnreduc);
64 #endif // OOPS_ASSIMILATION_FGMRESMINIMIZER_H_
FGMRESMinimizer(const eckit::Configuration &, const CostFct_ &J)
double FGMRES(VECTOR &x, const VECTOR &b, const AMATRIX &A, const PMATRIX &precond, const int maxiter, const double tolerance)
The namespace for the main oops code.
ControlIncrement< MODEL > CtrlInc_
HessianMatrix< MODEL > Hessian_
CostFunction< MODEL > CostFct_
double solve(CtrlInc_ &, const CtrlInc_ &, const Hessian_ &, const Bmat_ &, const int, const double) override
const std::string classname() const override