ALPS Home Libraries License Support People ALPS Web Site

PrevUpHomeNext

Class template jacobi_davidson

ietl::jacobi_davidson

Synopsis

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

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

  // construct/copy/destruct
  jacobi_davidson(const MATRIX &, const VS &, DesiredEigenvalue = Largest);
  ~jacobi_davidson();

  // public member functions
  template<typename GEN, typename SOLVER, typename ITER> 
    std::pair< magnitude_type, vector_type > 
    calculate_eigenvalue(const GEN &, SOLVER &, ITER &);

  // private member functions
  void get_extremal_eigenvalue(magnitude_type &, std::vector< double > &, 
                               fortran_int_t);
  void get_extremal_eigenvalue(magnitude_type &, 
                               std::vector< std::complex< double > > &, 
                               fortran_int_t);
};

Description

jacobi_davidson public construct/copy/destruct

  1. jacobi_davidson(const MATRIX & matrix, const VS & vec, 
                    DesiredEigenvalue desired = Largest);
  2. ~jacobi_davidson();

jacobi_davidson public member functions

  1. template<typename GEN, typename SOLVER, typename ITER> 
      std::pair< magnitude_type, vector_type > 
      calculate_eigenvalue(const GEN & gen, SOLVER & solver, ITER & iter);

jacobi_davidson private member functions

  1. void get_extremal_eigenvalue(magnitude_type & theta, 
                                 std::vector< double > & s, fortran_int_t dim);
  2. void get_extremal_eigenvalue(magnitude_type & theta, 
                                 std::vector< std::complex< double > > & s, 
                                 fortran_int_t dim);
Copyright © 2011 Matthias Troyer, Bela Bauer, Robin Jäger

PrevUpHomeNext