Class template bandlanczos
ietl::bandlanczos
Synopsis
template<typename MATRIX, typename VS>
class bandlanczos {
public:
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;
bandlanczos(const MATRIX &, const VS &, const int &);
~bandlanczos();
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();
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
bandlanczos(const MATRIX & matrix, const VS & vec, const int & p);
~bandlanczos();
bandlanczos
public member functions
template<typename GEN, typename ITER>
void calculate_eigenvalues(ITER & iter, const GEN & gen);
template<typename GEN, typename ITER>
void calculate_eigenvectors(ITER & iter, const GEN & gen);
const std::vector< vector_type > & eigenvectors();
const std::vector< int > & multiplicities();
const std::vector< magnitude_type > & eigenvalues();
bandlanczos
private member functions
bool convergence_test(const int dim, int pc, int evs, magnitude_type dep_tol,
magnitude_type ghost_tol, bool ghost_discarding,
bool low);
int calc_approx_eigenvalues(const int & dim, int evs,
magnitude_type ghost_tol, bool ghost_discarding,
bool low);
void getev_(const fortran_int_t dim, double w, fortran_int_t info,
double type);
void getev_(const fortran_int_t dim, float w, fortran_int_t info, float type);
void getev_(const fortran_int_t dim, double w, fortran_int_t info,
std::complex< double > type);
void getev_(const fortran_int_t dim, float w, fortran_int_t info,
std::complex< float > type);