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.