Class template lanczos
ietl::lanczos
Synopsis
template<typename MATRIX, typename VS>
class lanczos : public ietl::Tmatrix< VS > {
public:
typedef vectorspace_traits< VS >::vector_type vector_type;
typedef vectorspace_traits< VS >::scalar_type scalar_type;
typedef vectorspace_traits< VS >::magnitude_type magnitude_type;
lanczos(const MATRIX &, const VS &);
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);
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
lanczos(const MATRIX & matrix, const VS & vec);
lanczos
public member functions
template<typename IT, typename GEN>
void calculate_eigenvalues(IT & iter, GEN gen);
template<typename IT> void more_eigenvalues(IT & iter);
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);
std::vector< std::vector< magnitude_type > > const & t_eigenvectors();
template<typename Archive> void save(Archive & ar) const;
template<typename Archive> void load(Archive & ar);
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
template<typename IN> void find_m1m2(IN in_eigvals_start, IN in_eigvals_end);
template<typename GEN>
std::pair< magnitude_type, magnitude_type > make_first_step(GEN gen);
std::pair< magnitude_type, magnitude_type >
make_step(int j, vector_type & vec3);
template<typename IT, typename GEN> void generate_tmatrix(IT & iter, GEN gen);
template<typename IT> void generate_tmatrix(IT & iter);