Discontinuous Galerkin Library
#include "dg/algorithm.h"
|
#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... | |
Basic linear algebra level 2 functions (functions that involve vectors and matrices)