Common routines used for the QR method and SVD. Experimental. More...
#include <cmath>
#include "viennacl/meta/result_of.hpp"
#include "viennacl/vector.hpp"
#include "viennacl/matrix.hpp"
Go to the source code of this file.
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 > | |
SCALARTYPE | viennacl::linalg::detail::pythag (SCALARTYPE a, SCALARTYPE b) |
template<typename SCALARTYPE > | |
SCALARTYPE | viennacl::linalg::detail::sign (SCALARTYPE val) |
template<typename VectorType > | |
VectorType::value_type | viennacl::linalg::detail::norm_lcl (VectorType const &x, vcl_size_t size) |
template<typename VectorType > | |
void | viennacl::linalg::detail::normalize (VectorType &x, vcl_size_t size) |
template<typename VectorType > | |
void | viennacl::linalg::detail::householder_vector (VectorType &v, vcl_size_t start) |
template<typename SCALARTYPE > | |
void | viennacl::linalg::detail::transpose (matrix_base< SCALARTYPE > &A) |
template<typename T > | |
void | viennacl::linalg::detail::cdiv (T xr, T xi, T yr, T yi, T &cdivr, T &cdivi) |
template<typename SCALARTYPE > | |
void | viennacl::linalg::detail::prepare_householder_vector (matrix_base< SCALARTYPE > &A, vector_base< SCALARTYPE > &D, vcl_size_t size, vcl_size_t row_start, vcl_size_t col_start, vcl_size_t start, bool is_column) |
Variables | |
const std::string | viennacl::linalg::SVD_HOUSEHOLDER_UPDATE_QR_KERNEL = "house_update_QR" |
const std::string | viennacl::linalg::SVD_MATRIX_TRANSPOSE_KERNEL = "transpose_inplace" |
const std::string | viennacl::linalg::SVD_INVERSE_SIGNS_KERNEL = "inverse_signs" |
const std::string | viennacl::linalg::SVD_GIVENS_PREV_KERNEL = "givens_prev" |
const std::string | viennacl::linalg::SVD_FINAL_ITER_UPDATE_KERNEL = "final_iter_update" |
const std::string | viennacl::linalg::SVD_UPDATE_QR_COLUMN_KERNEL = "update_qr_column" |
const std::string | viennacl::linalg::SVD_HOUSEHOLDER_UPDATE_A_LEFT_KERNEL = "house_update_A_left" |
const std::string | viennacl::linalg::SVD_HOUSEHOLDER_UPDATE_A_RIGHT_KERNEL = "house_update_A_right" |
const std::string | viennacl::linalg::SVD_HOUSEHOLDER_UPDATE_QL_KERNEL = "house_update_QL" |
Common routines used for the QR method and SVD. Experimental.
Definition in file qr-method-common.hpp.