ViennaCL - The Vienna Computing Library
1.5.2
|
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 | |
namespace | viennacl |
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them. | |
namespace | viennacl::linalg |
Provides all linear algebra operations which are not covered by operator overloads. | |
namespace | 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) |
Implementation of the QR method for eigenvalue computations. Experimental.