inexactFabric.hh

Go to the documentation of this file.
1 
6 #ifndef inexactFabric_hh
7 #define inexactFabric_hh
8 
9 #include <memory>
10 #include "inexactInv.hh"
11 #include "solverFabric.hh"
12 
13 namespace eigensolver {
14 
15  // ****************************************************** InexactInvFabric **
16 
23  class InexactInvFabric : public SolverFabric<Real> {
24  public:
28  const Real innerTol = 0.5, const uint innerMax = 100,
29  const Real outerTol = 1e-6, const uint outerMax = 100) :
30  solver_(0), EFguess_(EFguess), innerTol_(innerTol), outerTol_(outerTol),
31  innerMax_(innerMax), outerMax_(outerMax) {}
32  virtual ~InexactInvFabric();
35  protected:
36  virtual std::ostream& info(std::ostream& os) const;
37  private:
38  std::unique_ptr<InexactInv<Real> > solver_;
39 
43 
45  };
46 
47 } // namespace eigensolver
48 
49 #endif // inexactFabric_hh
virtual InexactInv< Real > & operator()(concepts::Operator< Real, Real > &stiff, concepts::Operator< Real, Real > &mass)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
concepts::Vector< Real > EFguess_
Inexact inverse iteration to solve a generalized Eigen value problem.
Definition: inexactInv.hh:36
Fabric class for eigensolver inexact inverse iteration.
Abstract fabric class for eigenvalue solvers.
Definition: solverFabric.hh:31
Abstract class for an operator.
Definition: ARPACK.hh:16
std::unique_ptr< InexactInv< Real > > solver_
InexactInvFabric(const concepts::Vector< Real > &EFguess, const Real innerTol=0.5, const uint innerMax=100, const Real outerTol=1e-6, const uint outerMax=100)
Constructor.
Eigenvalue solvers.
Definition: ARPACK.hh:19
InexactInvFabric(const InexactInvFabric &)
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich