Generic interface for the Lanczos algorithm. More...
#include <cmath>
#include <vector>
#include "viennacl/vector.hpp"
#include "viennacl/compressed_matrix.hpp"
#include "viennacl/linalg/prod.hpp"
#include "viennacl/linalg/inner_prod.hpp"
#include "viennacl/linalg/norm_2.hpp"
#include "viennacl/io/matrix_market.hpp"
#include "viennacl/linalg/bisect.hpp"
#include "viennacl/tools/random.hpp"
Go to the source code of this file.
Classes | |
class | viennacl::linalg::lanczos_tag |
A tag for the lanczos algorithm. More... | |
Namespaces | |
viennacl | |
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them. | |
viennacl::linalg | |
Provides all linear algebra operations which are not covered by operator overloads. | |
viennacl::linalg::detail | |
Namespace holding implementation details for linear algebra routines. Usually not of interest for a library user. | |
Functions | |
template<typename NumericT > | |
void | viennacl::linalg::detail::inverse_iteration (std::vector< NumericT > const &alphas, std::vector< NumericT > const &betas, NumericT &eigenvalue, std::vector< NumericT > &eigenvector) |
Inverse iteration for finding an eigenvector for an eigenvalue. More... | |
template<typename MatrixT , typename DenseMatrixT , typename NumericT > | |
std::vector< NumericT > | viennacl::linalg::detail::lanczosPRO (MatrixT const &A, vector_base< NumericT > &r, DenseMatrixT &eigenvectors_A, vcl_size_t size, lanczos_tag const &tag, bool compute_eigenvectors) |
Implementation of the Lanczos PRO algorithm (partial reorthogonalization) More... | |
template<typename MatrixT , typename DenseMatrixT , typename NumericT > | |
std::vector< NumericT > | viennacl::linalg::detail::lanczos (MatrixT const &A, vector_base< NumericT > &r, DenseMatrixT &eigenvectors_A, vcl_size_t krylov_dim, lanczos_tag const &tag, bool compute_eigenvectors) |
Implementation of the Lanczos FRO algorithm. More... | |
template<typename MatrixT , typename DenseMatrixT > | |
std::vector< typename viennacl::result_of::cpu_value_type< typename MatrixT::value_type >::type > | viennacl::linalg::eig (MatrixT const &matrix, DenseMatrixT &eigenvectors_A, lanczos_tag const &tag, bool compute_eigenvectors=true) |
Implementation of the calculation of eigenvalues using lanczos (with and without reorthogonalization). More... | |
template<typename MatrixT > | |
std::vector< typename viennacl::result_of::cpu_value_type< typename MatrixT::value_type >::type > | viennacl::linalg::eig (MatrixT const &matrix, lanczos_tag const &tag) |
Implementation of the calculation of eigenvalues using lanczos (with and without reorthogonalization). More... | |
Generic interface for the Lanczos algorithm.
Contributed by Guenther Mader and Astrid Rupp.
Definition in file lanczos.hpp.