|
ViennaCL - The Vienna Computing Library
1.5.1
|
Common routines used for the QR method and SVD. Experimental. More...
#include <cmath>#include "viennacl/ocl/device.hpp"#include "viennacl/ocl/handle.hpp"#include "viennacl/ocl/kernel.hpp"#include "viennacl/linalg/opencl/kernels/svd.hpp"#include "viennacl/meta/result_of.hpp"#include "viennacl/vector.hpp"#include "viennacl/matrix.hpp"#include <boost/numeric/ublas/vector.hpp>#include <boost/numeric/ublas/io.hpp>Go to the source code of this file.
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 SCALARTYPE > | |
| SCALARTYPE | pythag (SCALARTYPE a, SCALARTYPE b) |
| template<typename SCALARTYPE > | |
| SCALARTYPE | sign (SCALARTYPE val) |
| template<typename VectorType > | |
| VectorType::value_type | norm_lcl (VectorType const &x, vcl_size_t size) |
| template<typename VectorType > | |
| void | normalize (VectorType &x, vcl_size_t size) |
| template<typename VectorType > | |
| void | householder_vector (VectorType &v, vcl_size_t start) |
| template<typename MatrixType > | |
| void | transpose (MatrixType &A) |
| template<typename T > | |
| void | cdiv (T xr, T xi, T yr, T yi, T &cdivr, T &cdivi) |
| template<typename SCALARTYPE , unsigned int ALIGNMENT> | |
| void | copy_vec (viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &A, viennacl::vector< SCALARTYPE, ALIGNMENT > &V, vcl_size_t row_start, vcl_size_t col_start, bool copy_col) |
| template<typename SCALARTYPE , unsigned int ALIGNMENT> | |
| void | prepare_householder_vector (viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &A, viennacl::vector< SCALARTYPE, ALIGNMENT > &D, vcl_size_t size, vcl_size_t row_start, vcl_size_t col_start, vcl_size_t start, bool is_column) |
| template<typename SCALARTYPE , unsigned int ALIGNMENT, typename VectorType > | |
| void | bidiag_pack (viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &A, VectorType &dh, VectorType &sh) |
Variables | |
| const std::string | SVD_BIDIAG_PACK_KERNEL = "bidiag_pack" |
| const std::string | SVD_HOUSEHOLDER_UPDATE_A_LEFT_KERNEL = "house_update_A_left" |
| const std::string | SVD_HOUSEHOLDER_UPDATE_A_RIGHT_KERNEL = "house_update_A_right" |
| const std::string | SVD_HOUSEHOLDER_UPDATE_QL_KERNEL = "house_update_QL" |
| const std::string | SVD_HOUSEHOLDER_UPDATE_QR_KERNEL = "house_update_QR" |
| const std::string | SVD_COPY_COL_KERNEL = "copy_col" |
| const std::string | SVD_COPY_ROW_KERNEL = "copy_row" |
| const std::string | SVD_MATRIX_TRANSPOSE_KERNEL = "transpose_inplace" |
| const std::string | SVD_INVERSE_SIGNS_KERNEL = "inverse_signs" |
| const std::string | SVD_GIVENS_PREV_KERNEL = "givens_prev" |
| const std::string | SVD_GIVENS_NEXT_KERNEL = "givens_next" |
| const std::string | SVD_FINAL_ITER_UPDATE_KERNEL = "final_iter_update" |
| const std::string | SVD_UPDATE_QR_COLUMN_KERNEL = "update_qr_column" |
Common routines used for the QR method and SVD. Experimental.
1.7.6.1