Discontinuous Galerkin Library
#include "dg/algorithm.h"
blas2.h File Reference
#include "backend/tensor_traits.h"
#include "backend/tensor_traits_std.h"
#include "backend/tensor_traits_thrust.h"
#include "backend/tensor_traits_cusp.h"
#include "backend/blas2_dispatch_scalar.h"
#include "backend/blas2_dispatch_shared.h"
#include "backend/blas2_cusp.h"
#include "backend/blas2_sparseblockmat.h"
#include "backend/blas2_selfmade.h"
#include "backend/blas2_densematrix.h"
#include "backend/blas2_dispatch_mpi.h"
#include "backend/blas2_dispatch_vector.h"

Go to the source code of this file.

Namespaces

namespace  dg
 This is the namespace for all functions and classes defined and used by the discontinuous Galerkin library.
 
namespace  dg::blas2
 BLAS Level 2 routines.
 

Functions

template<class ContainerType1 , class MatrixType , class ContainerType2 >
get_value_type< MatrixType > dg::blas2::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 > dg::blas2::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 dg::blas2::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 MatrixType , class ContainerType1 , class ContainerType2 >
void dg::blas2::symv (MatrixType &&M, const ContainerType1 &x, ContainerType2 &y)
 \( y = M x\) More...
 
template<class MatrixType , class ContainerType1 , class ContainerType2 >
void dg::blas2::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 dg::blas2::gemv (MatrixType &&M, const ContainerType1 &x, ContainerType2 &y)
 \( y = M x\); (alias for symv) More...
 
template<class Stencil , class ContainerType , class ... ContainerTypes>
void dg::blas2::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 FunctorType , class MatrixType , class ContainerType1 , class ContainerType2 >
void dg::blas2::stencil (FunctorType f, MatrixType &&M, const ContainerType1 &x, ContainerType2 &y)
 \( F(M, x, y)\) More...
 
template<class MatrixType , class AnotherMatrixType >
void dg::blas2::transfer (const MatrixType &x, AnotherMatrixType &y)
 \( y = x\); Generic way to copy and/or convert a Matrix type to a different Matrix type More...
 
template<class MatrixType , class ContainerType1 , class ContainerType2 >
void dg::apply (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 dg::blas2::symv) More...
 
template<class MatrixType , class ContainerType1 , class ContainerType2 >
void dg::apply (MatrixType &&M, const ContainerType1 &x, ContainerType2 &y)
 \( y = M( x)\); (alias for dg::blas2::symv) More...
 

Detailed Description

Basic linear algebra level 2 functions (functions that involve vectors and matrices)