solverConjugate.hh

Go to the documentation of this file.
1 
7 #ifndef solverConjugate_hh
8 #define solverConjugate_hh
9 
10 #include "compositions.hh"
11 
12 namespace concepts {
13 
14  template<class F>
15  class SolverFabric;
16 
17  // ******************************************************* SolverConjugate **
18 
37  class SolverConjugate : public VecOperator<Cmplx> {
38  public:
46  SolverFabric<Real>& solverfabric);
47  protected:
48  virtual std::ostream& info(std::ostream& os) const;
52  virtual void apply_(const Vector<Cmplx>& fncY, Vector<Cmplx>& fncX);
55  virtual void apply_();
56  private:
58  std::unique_ptr<SparseMatrix<Real> > S_;
60  std::unique_ptr<Operator<Real> > solver_;
61  };
62 
63 } // namespace concepts
64 
65 #endif
66 
virtual void apply_(const Vector< Cmplx > &fncY, Vector< Cmplx > &fncX)
Intrinsic application method, i.e.
virtual std::ostream & info(std::ostream &os) const
std::unique_ptr< Operator< Real > > solver_
Solver for the real system matrix.
Abstract class for an operator acting on vectors only, not arbitrary functions.
virtual void apply_()
Intrinsic application method without argument.
Solver for a complex system.
std::unique_ptr< SparseMatrix< Real > > S_
Real system matrix.
SolverConjugate(Operator< Cmplx > &A, Operator< Cmplx > &B, SolverFabric< Real > &solverfabric)
Constructor.
Basic namespace for Concepts-2.
Definition: pml_formula.h:16
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich