shark::blas::kernels Namespace Reference

Functions

template<class E1 , class E2 , class result_type >
void dot (vector_expression< E1 > const &e1, vector_expression< E2 > const &e2, result_type &result)
 Well known dot-product r=<e1,e2>=sum_i e1_i*e2_i. More...
 
template<class M , class E1 , class E2 >
void gemm (matrix_expression< E1 > const &e1, matrix_expression< E2 > const &e2, matrix_expression< M > &m, typename M::value_type alpha)
 Well known GEneral Matrix-Matrix product kernel M+=alpha*E1*E2. More...
 
template<class M , class E1 , class E2 >
void gemv (matrix_expression< E1 > const &e1, vector_expression< E2 > const &e2, vector_expression< M > &m, typename M::value_type alpha)
 Well known GEneral Matrix-Vector product kernel M+=alpha*E1*e2. More...
 
template<template< class T1, class T2 > class F, class M >
void assign (matrix_expression< M > &m, typename M::value_type t, row_major)
 
template<template< class T1, class T2 > class F, class M >
void assign (matrix_expression< M > &m, typename M::value_type t, column_major)
 
template<template< class T1, class T2 > class F, class M , class Orientation , class Triangular >
void assign (matrix_expression< M > &m, typename M::value_type t, packed< Orientation, Triangular >)
 
template<template< class T1, class T2 > class F, class M >
void assign (matrix_expression< M > &m, typename M::value_type t)
 
template<class M , class E , class TagE , class TagM >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, row_major, TagE, TagM)
 
template<class M , class E >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, column_major, dense_random_access_iterator_tag, dense_random_access_iterator_tag)
 
template<class M , class E >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, column_major, dense_random_access_iterator_tag, sparse_bidirectional_iterator_tag)
 
template<class M , class E >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, column_major, sparse_bidirectional_iterator_tag, dense_random_access_iterator_tag)
 
template<class M , class E >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, column_major, sparse_bidirectional_iterator_tag, sparse_bidirectional_iterator_tag)
 
template<class M , class E , class Triangular >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, packed< row_major, Triangular >, packed< row_major, Triangular >, packed_random_access_iterator_tag, packed_random_access_iterator_tag)
 
template<class M , class E , class Triangular >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, packed< row_major, Triangular >, packed< column_major, Triangular >, packed_random_access_iterator_tag, packed_random_access_iterator_tag)
 
template<class M , class E , class TagE , class TagM >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, unknown_orientation, TagE tagE, TagM tagM)
 
template<class M , class E , class EOrientation , class TagE , class TagM >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, column_major, EOrientation, TagE tagE, TagM tagM)
 
template<class M , class E , class EOrientation , class Triangular , class TagM , class TagE >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, packed< column_major, Triangular >, packed< EOrientation, Triangular >, TagM tagM, TagE tagE)
 
template<class M , class E >
void assign (matrix_expression< M > &m, const matrix_expression< E > &e)
 
template<template< class, class > class F, class M , class E , class TagE , class TagM >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, row_major, TagM, TagE)
 
template<template< class, class > class F, class M , class E >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, column_major, dense_random_access_iterator_tag, dense_random_access_iterator_tag)
 
template<template< class, class > class F, class M , class E >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, column_major, dense_random_access_iterator_tag, sparse_bidirectional_iterator_tag)
 
template<template< class, class > class F, class M , class E >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, column_major, sparse_bidirectional_iterator_tag, dense_random_access_iterator_tag)
 
template<template< class, class > class F, class M , class E >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, column_major, sparse_bidirectional_iterator_tag t, sparse_bidirectional_iterator_tag)
 
template<template< class, class > class F, class M , class E , class Triangular >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, packed< row_major, Triangular >, packed< row_major, Triangular >)
 
template<template< class, class > class F, class M , class E , class Triangular >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, packed< row_major, Triangular >, packed< column_major, Triangular >)
 
template<template< class, class > class F, class M , class E >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, row_major)
 
template<template< class, class > class F, class M , class E >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, column_major)
 
template<template< class, class > class F, class M , class E >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, row_major, unknown_orientation)
 
template<template< class, class > class F, class M , class E , class EOrientation >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, column_major, EOrientation)
 
template<template< class, class > class F, class M , class E , class EOrientation , class Triangular >
void assign (matrix_expression< M > &m, matrix_expression< E > const &e, packed< column_major, Triangular >, packed< EOrientation, Triangular >)
 
template<template< class, class > class F, class M , class E >
void assign (matrix_expression< M > &m, const matrix_expression< E > &e)
 
template<class Triangular , typename MatA >
std::size_t potrf (matrix_container< MatA > &A)
 Implements the POsitive TRiangular matrix Factorisation POTRF. More...
 
template<typename MatrA , typename VectorB >
void syev (matrix_expression< MatrA > &matA, vector_expression< VectorB > &eigenValues)
 Well known SYmmetric EigenValue function (SYEV). More...
 
template<typename TriangularA , typename VecB >
void tpmv (matrix_expression< TriangularA > const &A, vector_expression< VecB > &b)
 Implements the Tringular Packed Matrix-Vector multiplication(TPMV) More...
 
template<bool Upper, bool Unit, typename TriangularA , typename MatB >
void trmm (matrix_expression< TriangularA > const &A, matrix_expression< MatB > &B)
 Implements the TRiangular Matrix Matrix multiply. More...
 
template<bool Upper, bool Unit, typename TriangularA , typename VecB >
void trmv (matrix_expression< TriangularA > const &A, vector_expression< VecB > &b)
 Implements the TRiangular Solver for Vectors. More...
 
template<bool Upper, bool Unit, typename TriangularA , typename MatB >
void trsm (matrix_expression< TriangularA > const &A, matrix_expression< MatB > &B)
 Implements the TRiangular Solver for Vectors. More...
 
template<bool Upper, bool Unit, typename TriangularA , typename V >
void trsv (matrix_expression< TriangularA > const &A, vector_expression< V > &b)
 Implements the TRiangular Solver for Vectors. More...
 
template<template< class T1, class T2 > class F, class V >
void assign (vector_expression< V > &v, typename V::value_type t)
 
template<class V , class E >
void assign (vector_expression< V > &v, vector_expression< E > const &e, dense_random_access_iterator_tag, dense_random_access_iterator_tag)
 
template<class V , class E >
void assign (vector_expression< V > &v, vector_expression< E > const &e, dense_random_access_iterator_tag, packed_random_access_iterator_tag)
 
template<class V , class E >
void assign (vector_expression< V > &v, vector_expression< E > const &e, packed_random_access_iterator_tag, packed_random_access_iterator_tag)
 
template<class V , class E >
void assign (vector_expression< V > &v, vector_expression< E > const &e, dense_random_access_iterator_tag, sparse_bidirectional_iterator_tag)
 
template<class V , class E >
void assign (vector_expression< V > &v, vector_expression< E > const &e, sparse_bidirectional_iterator_tag, dense_random_access_iterator_tag)
 
template<class V , class E >
void assign (vector_expression< V > &v, vector_expression< E > const &e, sparse_bidirectional_iterator_tag, sparse_bidirectional_iterator_tag)
 
template<class V , class E >
void assign (vector_expression< V > &v, const vector_expression< E > &e)
 
template<class V , class E , class F >
void assign (vector_expression< V > &v, vector_expression< E > const &e, F f, dense_random_access_iterator_tag, dense_random_access_iterator_tag)
 
template<class V , class E , class F >
void assign (vector_expression< V > &v, vector_expression< E > const &e, F f, dense_random_access_iterator_tag, packed_random_access_iterator_tag)
 
template<class V , class E , class F >
void assign (vector_expression< V > &v, vector_expression< E > const &e, F f, packed_random_access_iterator_tag, packed_random_access_iterator_tag)
 
template<class V , class E , class F >
void assign (vector_expression< V > &v, vector_expression< E > const &e, F f, dense_random_access_iterator_tag, sparse_bidirectional_iterator_tag)
 
template<class V , class E , class F >
void assign (vector_expression< V > &v, vector_expression< E > const &e, F f, sparse_bidirectional_iterator_tag tag, dense_random_access_iterator_tag)
 
template<class V , class E , class F >
void assign_sparse (vector_expression< V > &v, vector_expression< E > const &e, F f)
 
template<class V , class E , class F >
void assign (vector_expression< V > &v, vector_container< E > const &e, F f, sparse_bidirectional_iterator_tag tag, sparse_bidirectional_iterator_tag)
 
template<class V , class E , class F >
void assign (vector_container< V > &v, vector_expression< E > const &e, F f, sparse_bidirectional_iterator_tag tag, sparse_bidirectional_iterator_tag)
 
template<class V , class E , class F >
void assign (vector_container< V > &v, vector_container< E > const &e, F f, sparse_bidirectional_iterator_tag tag, sparse_bidirectional_iterator_tag)
 
template<class V , class E , class F >
void assign (vector_expression< V > &v, vector_expression< E > const &e, F f, sparse_bidirectional_iterator_tag tag, sparse_bidirectional_iterator_tag)
 
template<template< class T1, class T2 > class F, class V , class E >
void assign (vector_expression< V > &v, const vector_expression< E > &e)
 

Function Documentation

§ assign() [1/46]

template<template< class T1, class T2 > class F, class V >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
typename V::value_type  t 
)

Definition at line 39 of file vector_assign.hpp.

§ assign() [2/46]

template<class V , class E >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
dense_random_access_iterator_tag  ,
dense_random_access_iterator_tag   
)

Definition at line 55 of file vector_assign.hpp.

References shark::size(), and SIZE_CHECK.

§ assign() [3/46]

template<class V , class E >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
dense_random_access_iterator_tag  ,
packed_random_access_iterator_tag   
)

Definition at line 66 of file vector_assign.hpp.

References shark::size(), and SIZE_CHECK.

§ assign() [4/46]

template<class V , class E >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
packed_random_access_iterator_tag  ,
packed_random_access_iterator_tag   
)

Definition at line 100 of file vector_assign.hpp.

References shark::size(), and SIZE_CHECK.

§ assign() [5/46]

template<class V , class E >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
dense_random_access_iterator_tag  ,
sparse_bidirectional_iterator_tag   
)

Definition at line 132 of file vector_assign.hpp.

§ assign() [6/46]

template<class V , class E >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
sparse_bidirectional_iterator_tag  ,
dense_random_access_iterator_tag   
)

Definition at line 147 of file vector_assign.hpp.

References RANGE_CHECK, and shark::size().

§ assign() [7/46]

template<template< class T1, class T2 > class F, class M >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
typename M::value_type  t,
row_major   
)

Definition at line 162 of file matrix_assign.hpp.

Referenced by assign(), and shark::blas::divide_assign().

§ assign() [8/46]

template<class V , class E >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
sparse_bidirectional_iterator_tag  ,
sparse_bidirectional_iterator_tag   
)

Definition at line 163 of file vector_assign.hpp.

References RANGE_CHECK.

§ assign() [9/46]

template<template< class T1, class T2 > class F, class M >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
typename M::value_type  t,
column_major   
)

Definition at line 174 of file matrix_assign.hpp.

§ assign() [10/46]

template<class V , class E >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
const vector_expression< E > &  e 
)

Definition at line 181 of file vector_assign.hpp.

References assign(), shark::size(), and SIZE_CHECK.

§ assign() [11/46]

template<template< class T1, class T2 > class F, class M , class Orientation , class Triangular >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
typename M::value_type  t,
packed< Orientation, Triangular >   
)

Definition at line 188 of file matrix_assign.hpp.

§ assign() [12/46]

template<class V , class E , class F >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
f,
dense_random_access_iterator_tag  ,
dense_random_access_iterator_tag   
)

Definition at line 194 of file vector_assign.hpp.

References shark::size(), and SIZE_CHECK.

§ assign() [13/46]

template<template< class T1, class T2 > class F, class M >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
typename M::value_type  t 
)

Definition at line 198 of file matrix_assign.hpp.

§ assign() [14/46]

template<class V , class E , class F >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
f,
dense_random_access_iterator_tag  ,
packed_random_access_iterator_tag   
)

Definition at line 208 of file vector_assign.hpp.

References shark::size(), and SIZE_CHECK.

§ assign() [15/46]

template<class M , class E , class TagE , class TagM >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
row_major  ,
TagE  ,
TagM   
)

Definition at line 213 of file matrix_assign.hpp.

References assign(), and shark::blas::row().

§ assign() [16/46]

template<class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
column_major  ,
dense_random_access_iterator_tag  ,
dense_random_access_iterator_tag   
)

Definition at line 228 of file matrix_assign.hpp.

References shark::blas::min().

§ assign() [17/46]

template<class V , class E , class F >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
f,
packed_random_access_iterator_tag  ,
packed_random_access_iterator_tag   
)

Definition at line 241 of file vector_assign.hpp.

References shark::size(), and SIZE_CHECK.

§ assign() [18/46]

template<class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
column_major  ,
dense_random_access_iterator_tag  ,
sparse_bidirectional_iterator_tag   
)

Definition at line 264 of file matrix_assign.hpp.

References assign(), and shark::blas::column().

§ assign() [19/46]

template<class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
column_major  ,
sparse_bidirectional_iterator_tag  ,
dense_random_access_iterator_tag   
)

Definition at line 278 of file matrix_assign.hpp.

References assign(), and shark::blas::row().

§ assign() [20/46]

template<class V , class E , class F >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
f,
dense_random_access_iterator_tag  ,
sparse_bidirectional_iterator_tag   
)

Definition at line 282 of file vector_assign.hpp.

§ assign() [21/46]

template<class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
column_major  ,
sparse_bidirectional_iterator_tag  ,
sparse_bidirectional_iterator_tag   
)

Definition at line 291 of file matrix_assign.hpp.

References shark::blas::row().

§ assign() [22/46]

template<class V , class E , class F >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
f,
sparse_bidirectional_iterator_tag  tag,
dense_random_access_iterator_tag   
)

Definition at line 297 of file vector_assign.hpp.

References shark::size().

§ assign() [23/46]

template<class M , class E , class Triangular >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
packed< row_major, Triangular >  ,
packed< row_major, Triangular >  ,
packed_random_access_iterator_tag  ,
packed_random_access_iterator_tag   
)

Definition at line 341 of file matrix_assign.hpp.

References SIZE_CHECK.

§ assign() [24/46]

template<class M , class E , class Triangular >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
packed< row_major, Triangular >  ,
packed< column_major, Triangular >  ,
packed_random_access_iterator_tag  ,
packed_random_access_iterator_tag   
)

Definition at line 364 of file matrix_assign.hpp.

§ assign() [25/46]

template<class V , class E , class F >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_container< E > const &  e,
f,
sparse_bidirectional_iterator_tag  tag,
sparse_bidirectional_iterator_tag   
)

Definition at line 368 of file vector_assign.hpp.

References assign_sparse().

§ assign() [26/46]

template<class V , class E , class F >
void shark::blas::kernels::assign ( vector_container< V > &  v,
vector_expression< E > const &  e,
f,
sparse_bidirectional_iterator_tag  tag,
sparse_bidirectional_iterator_tag   
)

Definition at line 377 of file vector_assign.hpp.

References assign_sparse().

§ assign() [27/46]

template<class M , class E , class TagE , class TagM >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
unknown_orientation  ,
TagE  tagE,
TagM  tagM 
)

Definition at line 384 of file matrix_assign.hpp.

References shark::blas::assign().

§ assign() [28/46]

template<class V , class E , class F >
void shark::blas::kernels::assign ( vector_container< V > &  v,
vector_container< E > const &  e,
f,
sparse_bidirectional_iterator_tag  tag,
sparse_bidirectional_iterator_tag   
)

Definition at line 386 of file vector_assign.hpp.

References assign_sparse().

§ assign() [29/46]

template<class M , class E , class EOrientation , class TagE , class TagM >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
column_major  ,
EOrientation  ,
TagE  tagE,
TagM  tagM 
)

Definition at line 395 of file matrix_assign.hpp.

References shark::blas::assign().

§ assign() [30/46]

template<class V , class E , class F >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
vector_expression< E > const &  e,
f,
sparse_bidirectional_iterator_tag  tag,
sparse_bidirectional_iterator_tag   
)

Definition at line 400 of file vector_assign.hpp.

References assign(), and assign_sparse().

§ assign() [31/46]

template<class M , class E , class EOrientation , class Triangular , class TagM , class TagE >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
packed< column_major, Triangular >  ,
packed< EOrientation, Triangular >  ,
TagM  tagM,
TagE  tagE 
)

Definition at line 408 of file matrix_assign.hpp.

References shark::blas::assign().

§ assign() [32/46]

template<template< class T1, class T2 > class F, class V , class E >
void shark::blas::kernels::assign ( vector_expression< V > &  v,
const vector_expression< E > &  e 
)

Definition at line 414 of file vector_assign.hpp.

References assign(), shark::size(), and SIZE_CHECK.

§ assign() [33/46]

template<class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
const matrix_expression< E > &  e 
)

Definition at line 423 of file matrix_assign.hpp.

References shark::blas::assign(), and SIZE_CHECK.

§ assign() [34/46]

template<template< class, class > class F, class M , class E , class TagE , class TagM >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
row_major  ,
TagM  ,
TagE   
)

Definition at line 443 of file matrix_assign.hpp.

References shark::blas::row().

§ assign() [35/46]

template<template< class, class > class F, class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
column_major  ,
dense_random_access_iterator_tag  ,
dense_random_access_iterator_tag   
)

Definition at line 458 of file matrix_assign.hpp.

References shark::blas::min().

§ assign() [36/46]

template<template< class, class > class F, class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
column_major  ,
dense_random_access_iterator_tag  ,
sparse_bidirectional_iterator_tag   
)

Definition at line 495 of file matrix_assign.hpp.

References shark::blas::column().

§ assign() [37/46]

template<template< class, class > class F, class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
column_major  ,
sparse_bidirectional_iterator_tag  ,
dense_random_access_iterator_tag   
)

Definition at line 508 of file matrix_assign.hpp.

References shark::blas::row().

§ assign() [38/46]

template<template< class, class > class F, class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
column_major  ,
sparse_bidirectional_iterator_tag  t,
sparse_bidirectional_iterator_tag   
)

Definition at line 521 of file matrix_assign.hpp.

§ assign() [39/46]

template<template< class, class > class F, class M , class E , class Triangular >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
packed< row_major, Triangular >  ,
packed< row_major, Triangular >   
)

Definition at line 594 of file matrix_assign.hpp.

References SIZE_CHECK.

§ assign() [40/46]

template<template< class, class > class F, class M , class E , class Triangular >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
packed< row_major, Triangular >  ,
packed< column_major, Triangular >   
)

Definition at line 620 of file matrix_assign.hpp.

§ assign() [41/46]

template<template< class, class > class F, class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
row_major   
)

Definition at line 651 of file matrix_assign.hpp.

§ assign() [42/46]

template<template< class, class > class F, class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
column_major   
)

Definition at line 662 of file matrix_assign.hpp.

§ assign() [43/46]

template<template< class, class > class F, class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
row_major  ,
unknown_orientation   
)

Definition at line 674 of file matrix_assign.hpp.

§ assign() [44/46]

template<template< class, class > class F, class M , class E , class EOrientation >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
column_major  ,
EOrientation   
)

Definition at line 685 of file matrix_assign.hpp.

§ assign() [45/46]

template<template< class, class > class F, class M , class E , class EOrientation , class Triangular >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
matrix_expression< E > const &  e,
packed< column_major, Triangular >  ,
packed< EOrientation, Triangular >   
)

Definition at line 701 of file matrix_assign.hpp.

§ assign() [46/46]

template<template< class, class > class F, class M , class E >
void shark::blas::kernels::assign ( matrix_expression< M > &  m,
const matrix_expression< E > &  e 
)

Definition at line 716 of file matrix_assign.hpp.

References SIZE_CHECK.

§ assign_sparse()

template<class V , class E , class F >
void shark::blas::kernels::assign_sparse ( vector_expression< V > &  v,
vector_expression< E > const &  e,
f 
)

Definition at line 328 of file vector_assign.hpp.

References shark::size().

Referenced by assign().

§ dot()

template<class E1 , class E2 , class result_type >
void shark::blas::kernels::dot ( vector_expression< E1 > const &  e1,
vector_expression< E2 > const &  e2,
result_type &  result 
)

Well known dot-product r=<e1,e2>=sum_i e1_i*e2_i.

If bindings are included and the vector combination allows for a specific binding to be applied, the binding is called automatically from {binding}/dot.h otherwise default/dot.h is used which is fully implemented for all dense/sparse combinations. if a combination is optimized, bindings::has_optimized_dot<E1,E2,R>::type evaluates to boost::mpl::true_ The kernels themselves are implemented in blas::bindings::dot.

Definition at line 57 of file dot.hpp.

References shark::size(), and SIZE_CHECK.

Referenced by shark::blas::inner_prod().

§ gemm()

template<class M , class E1 , class E2 >
void shark::blas::kernels::gemm ( matrix_expression< E1 > const &  e1,
matrix_expression< E2 > const &  e2,
matrix_expression< M > &  m,
typename M::value_type  alpha 
)

Well known GEneral Matrix-Matrix product kernel M+=alpha*E1*E2.

If bindings are included and the matrix combination allow for a specific binding to be applied, the binding is called automatically from {binding}/gemm.h otherwise default/gemm.h is used which is fully implemented for all dense/sparse combinations. if a combination is optimized, bindings::has_optimized_gemm<M,E1,E2>::type evaluates to boost::mpl::true_ The kernels themselves are implemented in blas::bindings::gemm.

Definition at line 57 of file gemm.hpp.

References SIZE_CHECK.

Referenced by shark::blas::axpy_prod(), shark::blas::matrix_matrix_prod< MatA, MatB >::minus_assign_to(), and shark::blas::matrix_matrix_prod< MatA, MatB >::plus_assign_to().

§ gemv()

template<class M , class E1 , class E2 >
void shark::blas::kernels::gemv ( matrix_expression< E1 > const &  e1,
vector_expression< E2 > const &  e2,
vector_expression< M > &  m,
typename M::value_type  alpha 
)

Well known GEneral Matrix-Vector product kernel M+=alpha*E1*e2.

If bindings are included and the matrix/vector combination allows for a specific binding to be applied, the binding is called automatically from {binding}/gemv.h otherwise default/gemv.h is used which is fully implemented for all dense/sparse combinations. if a combination is optimized, bindings::has_optimized_gemv<M,E1,E2>::type evaluates to boost::mpl::true_ The kernels themselves are implemented in blas::bindings::gemv.

Definition at line 57 of file gemv.hpp.

References shark::size(), and SIZE_CHECK.

Referenced by shark::blas::matrix_vector_prod< MatA, VecV >::minus_assign_to(), and shark::blas::matrix_vector_prod< MatA, VecV >::plus_assign_to().

§ potrf()

template<class Triangular , typename MatA >
std::size_t shark::blas::kernels::potrf ( matrix_container< MatA > &  A)

Implements the POsitive TRiangular matrix Factorisation POTRF.

It is better known as the cholesky decomposition for dense matrices. The algorithm works in place and does not require additional memory.

Definition at line 61 of file potrf.hpp.

References SIZE_CHECK.

§ syev()

template<typename MatrA , typename VectorB >
void shark::blas::kernels::syev ( matrix_expression< MatrA > &  matA,
vector_expression< VectorB > &  eigenValues 
)

Well known SYmmetric EigenValue function (SYEV).

A given matrix A is decomposed as A=QDQ^T where Q is an orthogonal (or unitary) matrix with QQ^T=Q^TQ=I and D are the eigenvalue of A. As A is symmetric, only the lower part of it is accessed for reading. The wholee matrix will in the end contain the eigenvectors of A and thus A is replaced by Q. Additionally the eigenvalues are stored in the second argument.

Definition at line 52 of file syev.hpp.

Referenced by shark::blas::eigensymm().

§ tpmv()

template<typename TriangularA , typename VecB >
void shark::blas::kernels::tpmv ( matrix_expression< TriangularA > const &  A,
vector_expression< VecB > &  b 
)

Implements the Tringular Packed Matrix-Vector multiplication(TPMV)

It computes b=A*b where A is a lower or upper packed triangular matrix.

Definition at line 54 of file tpmv.hpp.

References shark::size(), and SIZE_CHECK.

§ trmm()

template<bool Upper, bool Unit, typename TriangularA , typename MatB >
void shark::blas::kernels::trmm ( matrix_expression< TriangularA > const &  A,
matrix_expression< MatB > &  B 
)

Implements the TRiangular Matrix Matrix multiply.

It computes B=A*B in place, where A is a triangular matrix and B a dense matrix

Definition at line 54 of file trmm.hpp.

References SIZE_CHECK.

§ trmv()

template<bool Upper, bool Unit, typename TriangularA , typename VecB >
void shark::blas::kernels::trmv ( matrix_expression< TriangularA > const &  A,
vector_expression< VecB > &  b 
)

Implements the TRiangular Solver for Vectors.

It solves Systems of the form Ax = b where A is a square lower or upper triangular matrix. It can optionally assume that the diagonal is 1 and won't access the diagonal elements.

Definition at line 55 of file trmv.hpp.

References shark::size(), and SIZE_CHECK.

§ trsm()

template<bool Upper, bool Unit, typename TriangularA , typename MatB >
void shark::blas::kernels::trsm ( matrix_expression< TriangularA > const &  A,
matrix_expression< MatB > &  B 
)

Implements the TRiangular Solver for Vectors.

It solves Systems of the form Ax = b where A is a square lower or upper triangular matrix. It can optionally assume that the diagonal is 1 and won't access the diagonal elements.

Definition at line 55 of file trsm.hpp.

References SIZE_CHECK.

§ trsv()

template<bool Upper, bool Unit, typename TriangularA , typename V >
void shark::blas::kernels::trsv ( matrix_expression< TriangularA > const &  A,
vector_expression< V > &  b 
)

Implements the TRiangular Solver for Vectors.

It solves Systems of the form Ax = b where A is a square lower or upper triangular matrix. It can optionally assume that the diagonal is 1 and won't access the diagonal elements.

Definition at line 55 of file trsv.hpp.

References shark::size(), and SIZE_CHECK.