Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

eigensolver/SmallES.hh
Go to the documentation of this file.
00001  // SmallES eigensolver using dgeev (Real) or zgeev (Cmplx)
00002 
00003 #ifndef SmallES_hh
00004 #define SmallES_hh
00005 
00006 #include <cfloat>
00007 #include "eigensolver/eigens.hh"
00008 
00009 namespace eigensolver {
00010 
00011 using concepts::Real;
00012 using concepts::Cmplx;
00013 
00014   // ********************************************************* SmallES **
00015 
00024   template <typename F>
00025   class SmallES : public EigenSolver<F> {
00026   public:
00031     SmallES(concepts::Array<F>& A);
00034     virtual ~SmallES();
00041     virtual const concepts::Array<F>& getEV();
00044     virtual const concepts::Array<concepts::Vector<F>*>& getEF();
00046     virtual uint iterations() const { return 0; }
00048     virtual uint converged() const { return 0; }
00049   protected:
00050     virtual std::ostream& info(std::ostream& os) const;
00051   private:
00053     concepts::Array<F>& A_;
00055     concepts::Array<F> eigenvalues_;
00057     concepts::Array<concepts::Vector<F>*> eigenvectors_;
00059     bool computed_;
00061     void compute_();
00062   };
00063 
00064 } // namespace eigensolver
00065 
00066 #endif // SmallES_hh

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)