ALPS Home Libraries License Support People ALPS Web Site

PrevUpHomeNext

Class template jd

ietl::jd

Synopsis

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

template<typename MATRIX, typename VS> 
class jd {
public:
  // types
  typedef vectorspace_traits< VS >::vector_type    vector_type;    
  typedef vectorspace_traits< VS >::scalar_type    scalar_type;    
  typedef vectorspace_traits< VS >::size_type      size_type;      
  typedef vectorspace_traits< VS >::magnitude_type magnitude_type; 
  typedef real_type< scalar_type >::type           real_type;      
  typedef std::vector< vector_type >               vector_set_type;
  typedef std::vector< real_type >                 real_set_type;  

  // construct/copy/destruct
  jd(const MATRIX &, VS &, size_t = 0);

  // public member functions
  template<typename SOLV, typename IT, typename GEN> 
    void eigensystem(IT &, GEN &, size_type, SOLV, bool = false);
  template<typename SOLV, typename IT, typename GEN, typename PREC> 
    void eigensystem(IT &, GEN &, size_type, PREC &, SOLV, bool = false);
  template<typename SOLV, typename IT, typename GEN> 
    void eigensystem_harmonic(IT &, GEN &, size_type, real_type, SOLV &);
  std::pair< real_type, vector_type > eigenpair(size_type);
  real_type eigenvalue(size_type);
  real_set_type eigenvalues();
  vector_type eigenvector(size_type);
  void reset();

  // protected member functions
  template<typename SOLVER, typename IT, typename GEN> 
    void jdqr(SOLVER &, IT &, GEN &, size_type, bool);
  template<typename SOLVER, typename IT, typename GEN> 
    void jdqr_harmonic(SOLVER &, IT &, GEN &, size_type, real_type);
};

Description

jd public construct/copy/destruct

  1. jd(const MATRIX & A, VS & vspace, size_t v = 0);

jd public member functions

  1. template<typename SOLV, typename IT, typename GEN> 
      void eigensystem(IT & iter, GEN & gen, size_type k_max, SOLV f, 
                       bool search_highest = false);
  2. template<typename SOLV, typename IT, typename GEN, typename PREC> 
      void eigensystem(IT & iter, GEN & gen, size_type k_max, PREC & K, SOLV f, 
                       bool search_highest = false);
  3. template<typename SOLV, typename IT, typename GEN> 
      void eigensystem_harmonic(IT & iter, GEN & gen, size_type k_max, 
                                real_type tau, SOLV & f);
  4. std::pair< real_type, vector_type > eigenpair(size_type k);
  5. real_type eigenvalue(size_type k);
  6. real_set_type eigenvalues();
  7. vector_type eigenvector(size_type k);
  8. void reset();

jd protected member functions

  1. template<typename SOLVER, typename IT, typename GEN> 
      void jdqr(SOLVER & solver, IT & iter, GEN & gen, size_type k_max, 
                bool search_highest);
  2. template<typename SOLVER, typename IT, typename GEN> 
      void jdqr_harmonic(SOLVER & solver, IT & iter, GEN & gen, size_type k_max, 
                         real_type tau);
Copyright © 2011 Matthias Troyer, Bela Bauer, Robin Jäger

PrevUpHomeNext