ViennaCL - The Vienna Computing Library  1.5.2
Data Structures | Namespaces | Functions
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/prod.hpp"
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/matrix.hpp>

Go to the source code of this file.

Data Structures

class  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 MatrixType , typename VectorType >
void givens_next (MatrixType &matrix, VectorType &tmp1, VectorType &tmp2, int l, int m)
 
template<typename SCALARTYPE , unsigned int ALIGNMENT>
void tql2 (viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &Q, boost::numeric::ublas::vector< SCALARTYPE > &d, boost::numeric::ublas::vector< SCALARTYPE > &e)
 
template<typename SCALARTYPE , typename MatrixT >
void final_iter_update_gpu (MatrixT &A, int n, int last_n, SCALARTYPE q, SCALARTYPE p)
 
template<typename SCALARTYPE , typename MatrixT >
void update_float_QR_column_gpu (MatrixT &A, const std::vector< SCALARTYPE > &buf, viennacl::vector< SCALARTYPE > &buf_vcl, int m, int n, int last_n, bool)
 
template<typename SCALARTYPE , typename MatrixT >
void final_iter_update (MatrixT &A, int n, int last_n, SCALARTYPE q, SCALARTYPE p)
 
template<typename SCALARTYPE , typename MatrixT >
void update_float_QR_column (MatrixT &A, const std::vector< SCALARTYPE > &buf, int m, int n, int last_i, bool is_triangular)
 
template<typename SCALARTYPE , unsigned int ALIGNMENT>
void hqr2 (viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &vcl_H, viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &V, boost::numeric::ublas::vector< SCALARTYPE > &d, boost::numeric::ublas::vector< SCALARTYPE > &e)
 
template<typename SCALARTYPE , unsigned int ALIGNMENT>
bool householder_twoside (viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &A, viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &Q, viennacl::vector< SCALARTYPE, ALIGNMENT > &D, vcl_size_t start)
 
template<typename SCALARTYPE , typename F , unsigned int ALIGNMENT>
void tridiagonal_reduction (viennacl::matrix< SCALARTYPE, F, ALIGNMENT > &A, viennacl::matrix< SCALARTYPE, F, ALIGNMENT > &Q)
 
template<typename SCALARTYPE , typename F , unsigned int ALIGNMENT>
void qr_method (viennacl::matrix< SCALARTYPE, F, ALIGNMENT > &A, viennacl::matrix< SCALARTYPE, F, ALIGNMENT > &Q, boost::numeric::ublas::vector< SCALARTYPE > &D, boost::numeric::ublas::vector< SCALARTYPE > &E, bool is_symmetric=true)
 
template<typename SCALARTYPE , typename F , unsigned int ALIGNMENT>
void qr_method_nsm (viennacl::matrix< SCALARTYPE, F, ALIGNMENT > &A, viennacl::matrix< SCALARTYPE, F, ALIGNMENT > &Q, boost::numeric::ublas::vector< SCALARTYPE > &D, boost::numeric::ublas::vector< SCALARTYPE > &E)
 
template<typename SCALARTYPE , typename F , unsigned int ALIGNMENT>
void qr_method_sym (viennacl::matrix< SCALARTYPE, F, ALIGNMENT > &A, viennacl::matrix< SCALARTYPE, F, ALIGNMENT > &Q, boost::numeric::ublas::vector< SCALARTYPE > &D)
 

Detailed Description

Implementation of the QR method for eigenvalue computations. Experimental.