OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Matrix.h File Reference
#include "Algebra/Array2D.h"
#include "Algebra/Vector.h"
#include "Utilities/SizeError.h"
#include <algorithm>
#include <functional>
#include <numeric>
Include dependency graph for Matrix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Matrix< T >
 Matrix. More...

Functions

template<class T>
Matrix< T > operator+ (const Matrix< T > &, const Matrix< T > &)
 Matrix addition.
template<class T>
Matrix< T > operator- (const Matrix< T > &, const Matrix< T > &)
 Matrix subtraction.
template<class T>
Matrix< T > operator- (const Matrix< T > &)
 Matrix unary minus.
template<class T>
Matrix< T > operator* (const Matrix< T > &, const Matrix< T > &)
 Matrix multiply.
template<class T>
Vector< T > operator* (const Matrix< T > &, const Vector< T > &)
 Matrix times column vector.
template<class T>
Vector< T > operator* (const Vector< T > &, const Matrix< T > &)
 Row vector times matrix.
template<class T>
Matrix< T > operator* (const Matrix< T > &, const T &)
 Matrix times scalar.
template<class T>
Matrix< T > operator* (const T &, const Matrix< T > &)
 Scalar times matrix.
template<class T>
Matrix< T > operator/ (const Matrix< T > &, const T &)
 Matrix divided by scalar.
template<class T>
Matrix< T > operator- (const Matrix< T > arg)

Function Documentation

◆ operator*() [1/5]

template<class T>
Matrix< T > operator* ( const Matrix< T > & lhs,
const Matrix< T > & rhs )

Matrix multiply.

Definition at line 298 of file Matrix.h.

References Matrix< T >::dotm().

Here is the call graph for this function:

◆ operator*() [2/5]

template<class T>
Matrix< T > operator* ( const Matrix< T > & M,
const T & val )

Matrix times scalar.

Definition at line 316 of file Matrix.h.

◆ operator*() [3/5]

template<class T>
Vector< T > operator* ( const Matrix< T > & M,
const Vector< T > & V )

Matrix times column vector.

Definition at line 304 of file Matrix.h.

References Matrix< T >::dotcv().

Here is the call graph for this function:

◆ operator*() [4/5]

template<class T>
Matrix< T > operator* ( const T & val,
const Matrix< T > & M )

Scalar times matrix.

Definition at line 323 of file Matrix.h.

◆ operator*() [5/5]

template<class T>
Vector< T > operator* ( const Vector< T > & V,
const Matrix< T > & M )

Row vector times matrix.

Definition at line 310 of file Matrix.h.

References Matrix< T >::dotrv().

Here is the call graph for this function:

◆ operator+()

template<class T>
Matrix< T > operator+ ( const Matrix< T > & lhs,
const Matrix< T > & rhs )

Matrix addition.

Definition at line 276 of file Matrix.h.

◆ operator-() [1/3]

template<class T>
Matrix< T > operator- ( const Matrix< T > & )

Matrix unary minus.

◆ operator-() [2/3]

template<class T>
Matrix< T > operator- ( const Matrix< T > & lhs,
const Matrix< T > & rhs )

Matrix subtraction.

Definition at line 283 of file Matrix.h.

◆ operator-() [3/3]

template<class T>
Matrix< T > operator- ( const Matrix< T > arg)

Definition at line 290 of file Matrix.h.

References arg(), and Array2D< T >::begin().

Here is the call graph for this function:

◆ operator/()

template<class T>
Matrix< T > operator/ ( const Matrix< T > & M,
const T & val )

Matrix divided by scalar.

Definition at line 330 of file Matrix.h.