All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 | viennacl::linalg::host_based::detail::isHermitian (ScalarType **const A, vcl_size_t n)
template<typename ScalarType >
vcl_size_t | viennacl::linalg::host_based::detail::getHermitianBandwidth (ScalarType **const A, vcl_size_t n)
template<typename ScalarType >
void | viennacl::linalg::host_based::detail::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 | viennacl::linalg::host_based::detail::tridiagonalizeHermitianBandedMatrix (ScalarType **A, vcl_size_t n, vcl_size_t bandwidth)
template<typename ScalarType >
void | viennacl::linalg::host_based::detail::reduceHermitianToBandedMatrix (ScalarType **A, vcl_size_t n, vcl_size_t block_size, vcl_size_t num_threads)
template<typename ScalarType >
void | viennacl::linalg::host_based::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 | viennacl::linalg::host_based::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 > | viennacl::linalg::host_based::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 > | viennacl::linalg::host_based::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.

Definition in file sse_kernels.hpp.