cgUzawa.hh

Go to the documentation of this file.
1 
7 #ifndef cgUzawa_hh
8 #define cgUzawa_hh
9 
10 #include <string>
11 
12 #include "basics/typedefs.hh"
13 #include "operator/compositions.hh"
14 #include "vectorial/vectorial.hh"
15 
16 namespace vectorial {
17 
18  using concepts::Real;
19 
20  // *************************************************************** CGUzawa **
21 
55  class CGUzawa : public concepts::Operator<Real> {
56  public:
71  Real maxeps, int maxit = 0, uint relres = false);
72 
73  virtual void operator()(const concepts::Function<Real>& fncY,
77 
81  uint iterations() const { return it_; }
82 
86  Real epsilon() const { return eps_; }
87  protected:
88  std::ostream& info(std::ostream& os) const;
89  private:
91  uint bdim_[2];
105  uint maxit_;
109  uint it_;
111  bool relres_;
112  };
113 
114 } // namespace vectorial
115 
116 #endif // cgUzawa_hh
uint it_
Number of iterations.
Definition: cgUzawa.hh:109
bool relres_
false: absolute residual, true: relative residual
Definition: cgUzawa.hh:111
Real eps_
Current residual.
Definition: cgUzawa.hh:107
uint maxit_
Maximal number of iterations until abortion.
Definition: cgUzawa.hh:105
concepts::Operator< Real > & A_
Upper left submatrix.
Definition: cgUzawa.hh:93
Vector valued problems.
Definition: spaceTraits.hh:24
uint iterations() const
Returns the number of (outer) iterations.
Definition: cgUzawa.hh:81
concepts::Operator< Real > & C_
Lower right submatrix.
Definition: cgUzawa.hh:99
Uzawa algorithm with conjugate directions for generalized saddle point problems.
Definition: cgUzawa.hh:55
uint bdim_[2]
Dimensions of partly matrices (in image and source space)
Definition: cgUzawa.hh:91
concepts::Operator< Real > & B_
Upper right submatrix.
Definition: cgUzawa.hh:95
Real maxeps_
Convergence criterion.
Definition: cgUzawa.hh:103
concepts::Operator< Real > & Bt_
Lower left submatrix.
Definition: cgUzawa.hh:97
virtual void operator()(const concepts::Function< Real > &fncY, concepts::Function< Real > &fncX)
Abstract class for an operator.
Definition: ARPACK.hh:16
Real epsilon() const
Returns the residual.
Definition: cgUzawa.hh:86
void operator()(const concepts::Vector< Real > &fncY, concepts::Vector< Real > &fncX)
concepts::Operator< Real > & Ai_
Solver for A.
Definition: cgUzawa.hh:101
std::ostream & info(std::ostream &os) const
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
CGUzawa(concepts::Operator< Real > &A, concepts::Operator< Real > &B, concepts::Operator< Real > &Bt, concepts::Operator< Real > &C, concepts::Operator< Real > &Ai, Real maxeps, int maxit=0, uint relres=false)
Constructor.
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich