ViennaCL - The Vienna Computing Library: viennacl/linalg/lanczos.hpp File Reference

ViennaCL - The Vienna Computing Library 1.7.1 Free open-source GPU-accelerated linear algebra and solver library. |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Functions
lanczos.hpp File Reference

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...

## Detailed Description

Generic interface for the Lanczos algorithm.

Contributed by Guenther Mader and Astrid Rupp.

Definition in file lanczos.hpp.