OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Classes | Functions
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. More...
 
template<class T >
Matrix< T > operator- (const Matrix< T > &, const Matrix< T > &)
 Matrix subtraction. More...
 
template<class T >
Matrix< T > operator- (const Matrix< T > &)
 Matrix unary minus. More...
 
template<class T >
Matrix< T > operator* (const Matrix< T > &, const Matrix< T > &)
 Matrix multiply. More...
 
template<class T >
Vector< T > operator* (const Matrix< T > &, const Vector< T > &)
 Matrix times column vector. More...
 
template<class T >
Vector< T > operator* (const Vector< T > &, const Matrix< T > &)
 Row vector times matrix. More...
 
template<class T >
Matrix< T > operator* (const Matrix< T > &, const T &)
 Matrix times scalar. More...
 
template<class T >
Matrix< T > operator* (const T &, const Matrix< T > &)
 Scalar times matrix. More...
 
template<class T >
Matrix< T > operator/ (const Matrix< T > &, const T &)
 Matrix divided by scalar. More...
 
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.

References Attrib::Distribution::R.

◆ 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.

References Attrib::Distribution::R.

◆ 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.

References Attrib::Distribution::R.