ALPS Home Libraries License Support People ALPS Web Site

PrevUpHomeNext

Class template bandlanczos

ietl::bandlanczos

Synopsis

// In header: <alps/src/ietl/bandlanczos.h>

template<typename MATRIX, typename VS> 
class bandlanczos {
public:
  // types
  typedef VS::vector_type                                    vector_type;   
  typedef VS::scalar_type                                    scalar_type;   
  typedef ietl::number_traits< scalar_type >::magnitude_type magnitude_type;
  typedef std::vector< scalar_type >                         eigenvec_type; 

  // construct/copy/destruct
  bandlanczos(const MATRIX &, const VS &, const int &);
  ~bandlanczos();

  // public member functions
  template<typename GEN, typename ITER> 
    void calculate_eigenvalues(ITER &, const GEN &);
  template<typename GEN, typename ITER> 
    void calculate_eigenvectors(ITER &, const GEN &);
  const std::vector< vector_type > & eigenvectors();
  const std::vector< int > & multiplicities();
  const std::vector< magnitude_type > & eigenvalues();

  // private member functions
  bool convergence_test(const int, int, int, magnitude_type, magnitude_type, 
                        bool, bool);
  int calc_approx_eigenvalues(const int &, int, magnitude_type, bool, bool);
  void getev_(const fortran_int_t, double, fortran_int_t, double);
  void getev_(const fortran_int_t, float, fortran_int_t, float);
  void getev_(const fortran_int_t, double, fortran_int_t, 
              std::complex< double >);
  void getev_(const fortran_int_t, float, fortran_int_t, 
              std::complex< float >);
};

Description

bandlanczos public construct/copy/destruct

  1. bandlanczos(const MATRIX & matrix, const VS & vec, const int & p);
  2. ~bandlanczos();

bandlanczos public member functions

  1. template<typename GEN, typename ITER> 
      void calculate_eigenvalues(ITER & iter, const GEN & gen);
  2. template<typename GEN, typename ITER> 
      void calculate_eigenvectors(ITER & iter, const GEN & gen);
  3. const std::vector< vector_type > & eigenvectors();
  4. const std::vector< int > & multiplicities();
  5. const std::vector< magnitude_type > & eigenvalues();

bandlanczos private member functions

  1. bool convergence_test(const int dim, int pc, int evs, magnitude_type dep_tol, 
                          magnitude_type ghost_tol, bool ghost_discarding, 
                          bool low);
  2. int calc_approx_eigenvalues(const int & dim, int evs, 
                                magnitude_type ghost_tol, bool ghost_discarding, 
                                bool low);
  3. void getev_(const fortran_int_t dim, double w, fortran_int_t info, 
                double type);
  4. void getev_(const fortran_int_t dim, float w, fortran_int_t info, float type);
  5. void getev_(const fortran_int_t dim, double w, fortran_int_t info, 
                std::complex< double > type);
  6. void getev_(const fortran_int_t dim, float w, fortran_int_t info, 
                std::complex< float > type);
Copyright © 2011 Matthias Troyer, Bela Bauer, Robin Jäger

PrevUpHomeNext