ALPS Home Libraries License Support People ALPS Web Site

PrevUpHomeNext

Class template lanczos

ietl::lanczos

Synopsis

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

template<typename MATRIX, typename VS> 
class lanczos : public ietl::Tmatrix< VS > {
public:
  // types
  typedef vectorspace_traits< VS >::vector_type    vector_type;   
  typedef vectorspace_traits< VS >::scalar_type    scalar_type;   
  typedef vectorspace_traits< VS >::magnitude_type magnitude_type;

  // construct/copy/destruct
  lanczos(const MATRIX &, const VS &);

  // public member functions
  template<typename IT, typename GEN> void calculate_eigenvalues(IT &, GEN);
  template<typename IT> void more_eigenvalues(IT &);
  template<typename IN, typename OUT, typename GEN> 
    void eigenvectors(IN, IN, OUT, Info< magnitude_type > &, GEN, int = 0, 
                      int = 50);
  std::vector< std::vector< magnitude_type > > const & t_eigenvectors();
  template<typename Archive> void save(Archive &) const;
  template<typename Archive> void load(Archive &);
  template<typename GEN> 
    std::pair< typename lanczos< MATRIX, VS >::magnitude_type, typename lanczos< MATRIX, VS >::magnitude_type > 
    make_first_step(GEN);

  // private member functions
  template<typename IN> void find_m1m2(IN, IN);
  template<typename GEN> 
    std::pair< magnitude_type, magnitude_type > make_first_step(GEN);
  std::pair< magnitude_type, magnitude_type > make_step(int, vector_type &);
  template<typename IT, typename GEN> void generate_tmatrix(IT &, GEN);
  template<typename IT> void generate_tmatrix(IT &);
};

Description

lanczos public construct/copy/destruct

  1. lanczos(const MATRIX & matrix, const VS & vec);

lanczos public member functions

  1. template<typename IT, typename GEN> 
      void calculate_eigenvalues(IT & iter, GEN gen);
  2. template<typename IT> void more_eigenvalues(IT & iter);
  3. template<typename IN, typename OUT, typename GEN> 
      void eigenvectors(IN in_eigvals_start, IN in_eigvals_end, OUT eig_vectors, 
                        Info< magnitude_type > & inf, GEN gen, int maxiter = 0, 
                        int maxcount = 50);
  4. std::vector< std::vector< magnitude_type > > const & t_eigenvectors();
  5. template<typename Archive> void save(Archive & ar) const;
  6. template<typename Archive> void load(Archive & ar);
  7. template<typename GEN> 
      std::pair< typename lanczos< MATRIX, VS >::magnitude_type, typename lanczos< MATRIX, VS >::magnitude_type > 
      make_first_step(GEN gen);

lanczos private member functions

  1. template<typename IN> void find_m1m2(IN in_eigvals_start, IN in_eigvals_end);
  2. template<typename GEN> 
      std::pair< magnitude_type, magnitude_type > make_first_step(GEN gen);
  3. std::pair< magnitude_type, magnitude_type > 
    make_step(int j, vector_type & vec3);
  4. template<typename IT, typename GEN> void generate_tmatrix(IT & iter, GEN gen);
  5. template<typename IT> void generate_tmatrix(IT & iter);
Copyright © 2011 Matthias Troyer, Bela Bauer, Robin Jäger

PrevUpHomeNext