SmallES.hh

Go to the documentation of this file.
1 
6 #ifndef SmallES_hh
7 #define SmallES_hh
8 
9 #include <cfloat>
10 #include "eigensolver/eigens.hh"
11 #include "operator/matrix.hh"
12 
13 namespace eigensolver {
14 
15 using concepts::Real;
16 using concepts::Cmplx;
17 
18  // ********************************************************* SmallES **
19 
37  template <typename F = Cmplx>
38  class SmallES : public EigenSolver<F> {
39  public:
40 
46 
51  template <class G>
53 
58  template <class G>
60 
65  template <class G>
66  SmallES(concepts::DenseMatrix<G>& A) : SmallES(reinterpret_cast<concepts::Matrix<G> &>(A)) {};
67 
68 
71  virtual ~SmallES();
78  virtual const concepts::Array<F>& getEV();
83  virtual uint iterations() const { return 0; }
85  virtual uint converged() const { return 0; }
86  protected:
87  virtual std::ostream& info(std::ostream& os) const;
88  private:
89  bool flag_;
97  bool computed_;
99  void compute_();
100  };
101 
102 } // namespace eigensolver
103 
104 #endif // SmallES_hh
Interafce for eigenvalue solvers.
Definition: eigens.hh:23
bool computed_
Eigenpairs computed?
Definition: SmallES.hh:97
virtual const concepts::Array< concepts::Vector< F > * > & getEF()
Returns an array with the eigenfunctions.
SmallES(concepts::ElementMatrix< G > &A)
Constructor.
virtual uint iterations() const
Returns the number of iterations.
Definition: SmallES.hh:83
SmallES(concepts::Array< F > &A)
Constructor.
SmallES(concepts::DenseMatrix< G > &A)
Constructor.
Definition: SmallES.hh:66
An array of objects.
Definition: bilinearForm.hh:23
SmallES(concepts::Matrix< G > &A)
Constructor.
Abstract class for an operator.
Definition: compositions.hh:31
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
concepts::Array< concepts::Vector< F > * > eigenvectors_
Storage for eigenvectors.
Definition: SmallES.hh:95
concepts::Array< F > eigenvalues_
Storage space for eigenvalues.
Definition: SmallES.hh:93
std::complex< Real > Cmplx
Type for a complex number. It also depends on the setting of Real.
Definition: typedefs.hh:39
virtual uint converged() const
Returns the number of converged eigenpairs: (not implemented)
Definition: SmallES.hh:85
void compute_()
Compute eigenpairs.
Element matrix.
Definition: linearForm.hh:18
virtual ~SmallES()
Destructor.
virtual const concepts::Array< F > & getEV()
Returns an array with the real parts of the eigenvalues in the first kmax entries and the imaginary p...
Eigenvalue solver using LaPack routine dgeev (Real) zgeev (Cmplx).
Definition: SmallES.hh:38
Eigenvalue solvers.
Definition: ARPACK.hh:19
concepts::Array< F > * A_
Array A as described in modus.
Definition: SmallES.hh:91
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
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