ViennaCL - The Vienna Computing Library  1.5.1
Namespaces | Functions | Variables
viennacl/linalg/qr-method-common.hpp File Reference

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"

Detailed Description

Common routines used for the QR method and SVD. Experimental.