ViennaCL - The Vienna Computing Library  1.5.2
Namespaces | Functions
sse_kernels.hpp File Reference

optimized linear algebra operations for the CPU More...

#include <iostream>
#include <vector>
#include <algorithm>
#include "viennacl/linalg/host_based/sse_blas.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::host_based
 Holds all compute kernels with conventional host-based execution (buffers in CPU RAM).
 
 viennacl::linalg::host_based::detail
 Helper functions for the host-based linear algebra backend.
 

Functions

template<typename ScalarType >
bool isHermitian (ScalarType **const A, vcl_size_t n)
 
template<typename ScalarType >
vcl_size_t getHermitianBandwidth (ScalarType **const A, vcl_size_t n)
 
template<typename ScalarType >
void eliminateHermitian (ScalarType **A, vcl_size_t row, vcl_size_t from, vcl_size_t to, vcl_size_t width, ScalarType *ss)
 
template<typename ScalarType >
void tridiagonalizeHermitianBandedMatrix (ScalarType **A, vcl_size_t n, vcl_size_t bandwidth)
 
template<typename ScalarType >
void reduceHermitianToBandedMatrix (ScalarType **A, vcl_size_t n, vcl_size_t block_size, vcl_size_t num_threads)
 
template<typename ScalarType >
void inplace_tred2 (ScalarType **A, vcl_size_t n, vcl_size_t block_size=1, vcl_size_t num_threads=1)
 Inplace reduction of a dense n x n row-major or column-major hermitian (or real symmetric) matrix to tridiagonal form using householder similarity transforms (preserving eigenvalues) More...
 
template<typename ScalarType >
bool lu_factorize_row_major (ScalarType **A, vcl_size_t m, vcl_size_t n, vcl_size_t *piv=NULL, vcl_size_t block_size=8)
 Inplace lu factorization of an m x n dense row-major matrix with optional partial pivoting, returning true for an even number of pivots, false for an odd number of pivots. Factorization is successful if there are no nonzero values on the diagonal. More...
 
template<typename ScalarType >
std::vector< ScalarType > inplace_qr_col_major (ScalarType **A, vcl_size_t m, vcl_size_t n, vcl_size_t block_size=8)
 Inplace qr factorization of an m x n dense column-major matrix, returning the householder normalization coefficients. More...
 
template<typename ScalarType >
std::vector< ScalarType > inplace_qr_row_major (ScalarType **A, vcl_size_t m, vcl_size_t n, vcl_size_t block_size=8, vcl_size_t num_threads=1)
 Inplace qr factorization of an m x n dense row-major matrix, returning the householder normalization coefficients. More...
 

Detailed Description

optimized linear algebra operations for the CPU

Contributed by Alex Christensen.