Peano
Loading...
Searching...
No Matches
MatrixVectorOperations.h
Go to the documentation of this file.
1// This file is part of the Peano project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
5
6#include "tarch/la/Matrix.h"
7#include "tarch/la/Vector.h"
8
9
10namespace tarch {
11 namespace la {
17 template <int Rows, int Cols, typename Scalar>
19 const Matrix<Rows, Cols, Scalar>& matrix,
20 const Vector<Cols, Scalar>& vector
21 );
22
26 template <int Rows, int Cols, typename Scalar>
27 void matVec(
28 const Matrix<Rows, Cols, Scalar>& matrix,
29 Scalar alpha,
30 const Vector<Cols, Scalar>& v,
32 );
33
40 template <int Rows, int Cols, typename Scalar>
42 const Matrix<Rows, Cols, Scalar>& matrix,
43 const Vector<Cols, Scalar>& vector
44 );
45
46#ifdef UseOpenblas
51 template <int Rows, int Cols>
53 const Matrix<Rows, Cols, double>& matrix,
54 const Vector<Cols, double>& vector
55 );
56#endif
57
61 template <int Size, typename Scalar>
63 const Vector<Size, Scalar>& lhs,
64 const Vector<Size, Scalar>& rhs
65 );
66 } // namespace la
67} // namespace tarch
68
69
Static (i.e.
Definition Matrix.h:42
const float r
Definition hydro_iact.h:68
Matrix< Rows, Cols, Scalar > multiply(const Matrix< Rows, X, Scalar > &lhs, const Matrix< X, Cols, Scalar > &rhs)
Performs a matrix x matrix multiplication.
void matVec(const Matrix< Rows, Cols, Scalar > &matrix, Scalar alpha, const Vector< Cols, Scalar > &v, Vector< Rows, Scalar > &r)
Compute r = r + alpha * M * v in-situ.
Matrix< Size, Size, Scalar > outerDot(const Vector< Size, Scalar > &lhs, const Vector< Size, Scalar > &rhs)
Outer dot product.
Matrix< Rows, Cols, Scalar > operator*(const Matrix< Rows, X, Scalar > &lhs, const Matrix< X, Cols, Scalar > &rhs)
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.
Definition accelerator.h:19
Simple vector class.
Definition Vector.h:150