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
qr-method-common.hpp File Reference

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"
 

Detailed Description

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

Definition in file qr-method-common.hpp.