ViennaCL - The Vienna Computing Library: viennacl/linalg/svd.hpp File Reference

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
Namespaces | Functions
svd.hpp File Reference

Provides singular value decomposition using a block-based approach. Experimental. More...

`#include <boost/numeric/ublas/vector.hpp>`
`#include <boost/numeric/ublas/matrix.hpp>`
`#include <cmath>`
`#include "viennacl/matrix.hpp"`
`#include "viennacl/linalg/opencl/kernels/svd.hpp"`
`#include "viennacl/linalg/qr-method-common.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 MatrixType , typename VectorType >
void | viennacl::linalg::detail::givens_prev (MatrixType &matrix, VectorType &tmp1, VectorType &tmp2, int n, int l, int k)
template<typename MatrixType , typename VectorType >
void | viennacl::linalg::detail::change_signs (MatrixType &matrix, VectorType &signs, int n)
template<typename MatrixType , typename CPU_VectorType >
void | viennacl::linalg::detail::svd_qr_shift (MatrixType &vcl_u, MatrixType &vcl_v, CPU_VectorType &q, CPU_VectorType &e)
template<typename SCALARTYPE , unsigned int ALIGNMENT>
bool | viennacl::linalg::detail::householder_c (viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &A, viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &Q, viennacl::vector< SCALARTYPE, ALIGNMENT > &D, vcl_size_t row_start, vcl_size_t col_start)
template<typename SCALARTYPE , unsigned int ALIGNMENT>
bool | viennacl::linalg::detail::householder_r (viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &A, viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &Q, viennacl::vector< SCALARTYPE, ALIGNMENT > &D, vcl_size_t row_start, vcl_size_t col_start)
template<typename SCALARTYPE , unsigned int ALIGNMENT>
void | viennacl::linalg::detail::bidiag (viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &Ai, viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &QL, viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &QR)
template<typename SCALARTYPE , unsigned int ALIGNMENT>
void | viennacl::linalg::svd (viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &A, viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &QL, viennacl::matrix< SCALARTYPE, row_major, ALIGNMENT > &QR)
| Computes the singular value decomposition of a matrix A. Experimental in 1.3.x. More...

## Detailed Description

Provides singular value decomposition using a block-based approach. Experimental.

Contributed by Volodymyr Kysenko.

Definition in file svd.hpp.