Discontinuous Galerkin Library
#include "dg/algorithm.h"

BLAS Level 2 routines. More...

Functions

template<class MatrixType , class ContainerType1 , class ContainerType2 >
void symv (MatrixType &&M, const ContainerType1 &x, ContainerType2 &y)
 \( y = M x\) More...
 
template<class FunctorType , class MatrixType , class ContainerType1 , class ContainerType2 >
void stencil (FunctorType f, MatrixType &&M, const ContainerType1 &x, ContainerType2 &y)
 \( F(M, x, y)\) More...
 
template<class MatrixType , class ContainerType1 , class ContainerType2 >
void symv (get_value_type< ContainerType1 > alpha, MatrixType &&M, const ContainerType1 &x, get_value_type< ContainerType1 > beta, ContainerType2 &y)
 \( y = \alpha M x + \beta y\) More...
 
template<class ContainerType1 , class MatrixType , class ContainerType2 >
get_value_type< MatrixType > dot (const ContainerType1 &x, const MatrixType &m, const ContainerType2 &y)
 \( x^T M y\); Binary reproducible general dot product More...
 
template<class MatrixType , class ContainerType >
get_value_type< MatrixType > dot (const MatrixType &m, const ContainerType &x)
 \( x^T M x\); Binary reproducible general dot product More...
 
template<class MatrixType , class ContainerType1 , class ContainerType2 >
void gemv (get_value_type< ContainerType1 > alpha, MatrixType &&M, const ContainerType1 &x, get_value_type< ContainerType1 > beta, ContainerType2 &y)
 \( y = \alpha M x + \beta y \); (alias for symv) More...
 
template<class MatrixType , class ContainerType1 , class ContainerType2 >
void gemv (MatrixType &&M, const ContainerType1 &x, ContainerType2 &y)
 \( y = M x\); (alias for symv) More...
 
template<class Stencil , class ContainerType , class ... ContainerTypes>
void parallel_for (Stencil f, unsigned N, ContainerType &&x, ContainerTypes &&... xs)
 \( f(i, x_0, x_1, ...)\ \forall i\); Customizable and generic for loop More...
 
template<class MatrixType , class AnotherMatrixType >
void transfer (const MatrixType &x, AnotherMatrixType &y)
 \( y = x\); Generic way to copy and/or convert a Matrix type to a different Matrix type More...
 

Detailed Description

BLAS Level 2 routines.

Note
Only those routines that are actually called need to be implemented for a given type.