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
qr-method.hpp File Reference

Implementation of the QR method for eigenvalue computations. Experimental. More...

#include "viennacl/vector.hpp"
#include "viennacl/matrix.hpp"
#include "viennacl/linalg/qr-method-common.hpp"
#include "viennacl/linalg/tql2.hpp"
#include "viennacl/linalg/prod.hpp"
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/matrix.hpp>

Go to the source code of this file.

Classes

class  viennacl::linalg::detail::FastMatrix< SCALARTYPE >
 Internal helper class representing a row-major dense matrix used for the QR method for the purpose of computing eigenvalues. 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 SCALARTYPE >
void viennacl::linalg::detail::final_iter_update_gpu (matrix_base< SCALARTYPE > &A, int n, int last_n, SCALARTYPE q, SCALARTYPE p)
 
template<typename SCALARTYPE , typename VectorType >
void viennacl::linalg::detail::update_float_QR_column_gpu (matrix_base< SCALARTYPE > &A, const VectorType &buf, viennacl::vector< SCALARTYPE > &buf_vcl, int m, int n, int last_n, bool)
 
template<typename SCALARTYPE , typename MatrixT >
void viennacl::linalg::detail::final_iter_update (MatrixT &A, int n, int last_n, SCALARTYPE q, SCALARTYPE p)
 
template<typename SCALARTYPE , typename MatrixT >
void viennacl::linalg::detail::update_float_QR_column (MatrixT &A, const std::vector< SCALARTYPE > &buf, int m, int n, int last_i, bool is_triangular)
 
template<typename SCALARTYPE , typename VectorType >
void viennacl::linalg::detail::hqr2 (viennacl::matrix< SCALARTYPE > &vcl_H, viennacl::matrix< SCALARTYPE > &V, VectorType &d, VectorType &e)
 
template<typename SCALARTYPE >
bool viennacl::linalg::detail::householder_twoside (matrix_base< SCALARTYPE > &A, matrix_base< SCALARTYPE > &Q, vector_base< SCALARTYPE > &D, vcl_size_t start)
 
template<typename SCALARTYPE >
void viennacl::linalg::detail::tridiagonal_reduction (matrix_base< SCALARTYPE > &A, matrix_base< SCALARTYPE > &Q)
 
template<typename SCALARTYPE >
void viennacl::linalg::detail::qr_method (viennacl::matrix< SCALARTYPE > &A, viennacl::matrix< SCALARTYPE > &Q, std::vector< SCALARTYPE > &D, std::vector< SCALARTYPE > &E, bool is_symmetric=true)
 
template<typename SCALARTYPE >
void viennacl::linalg::qr_method_nsm (viennacl::matrix< SCALARTYPE > &A, viennacl::matrix< SCALARTYPE > &Q, std::vector< SCALARTYPE > &D, std::vector< SCALARTYPE > &E)
 
template<typename SCALARTYPE >
void viennacl::linalg::qr_method_sym (viennacl::matrix< SCALARTYPE > &A, viennacl::matrix< SCALARTYPE > &Q, std::vector< SCALARTYPE > &D)
 
template<typename SCALARTYPE >
void viennacl::linalg::qr_method_sym (viennacl::matrix< SCALARTYPE > &A, viennacl::matrix< SCALARTYPE > &Q, viennacl::vector_base< SCALARTYPE > &D)
 

Detailed Description

Implementation of the QR method for eigenvalue computations. Experimental.

Definition in file qr-method.hpp.