Class documentation of Concepts

Loading...
Searching...
No Matches
DirPowIt.hh
Go to the documentation of this file.
1
6#ifndef DirPowIt_hh
7#define DirPowIt_hh
8
9//#include <cfloat>
10#include "eigensolver/eigens.hh"
12
13namespace concepts {
14 // forward declaration
15 template<typename F>
16 class Operator;
17} // namespace concepts
18
19namespace eigensolver {
20
21using concepts::Real;
22using concepts::Cmplx;
23
24// ********************************************************* DirPowIt**
25
30 template <typename F, typename G>
31 class DirPowIt : public EigenSolver<G> {
32 public:
71 const int nev = 3, const int m = 3, const int k = 0,
72 const int maxiter = 300,
74 const Real tol = 0
75 );
77 virtual ~DirPowIt();
79 virtual const concepts::Array<G>& getEV();
83 virtual uint iterations() const { return (uint)iter_; }
85 virtual uint converged() const {return 0;}
86 protected:
87 virtual std::ostream& info(std::ostream& os) const;
88 private:
92 int nev_;
94 int m_;
96 int k_;
98 int iter_;
100 int maxiter_;
102 Real tol_;
104 concepts::Array<G> eigenvalues_;
108 concepts::Array<concepts::Vector<G>*> temp_eigenvectors_;
110 void sort_(concepts::Array<Real>&);
111 concepts::Array<uint> permutation_;
113 bool computed_;
115 void compute_();
116 };
117
118} // namespace eigensolver
119
120#endif // DirPowIt_hh
virtual uint converged() const
Returns the number of converged eigenpairs (not implemented)
Definition DirPowIt.hh:85
virtual ~DirPowIt()
Destructor.
virtual uint iterations() const
Returns the number of iterations.
Definition DirPowIt.hh:83
DirPowIt(concepts::Operator< F > &A, const int nev=3, const int m=3, const int k=0, const int maxiter=300, concepts::Array< concepts::Vector< G > * > *start=0, const Real tol=0)
virtual const concepts::Array< concepts::Vector< G > * > & getEF()
Returns an array with the eigenfunctions.
virtual const concepts::Array< G > & getEV()
Returns an array with the eigenvalues.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
double Real
Definition typedefs.hh:39
std::complex< Real > Cmplx
Type for a complex number. It also depends on the setting of Real.
Definition typedefs.hh:42