Alsvinn  0.5.3
The fast FVM simulator with UQ support
Public Types | Public Member Functions | Static Public Member Functions | List of all members
alsutils::matrix< T, NumberOfRows, NumberOfColumns > Class Template Reference

#include <alsutils/mat.hpp>

Public Types

typedef matrix< T, NumberOfRows, NumberOfColumns > self_type
 

Public Member Functions

__device__ __host__ matrix ()
 Creates a matrix initialized to 0. More...
 
__device__ __host__ const T & operator() (size_t row, size_t column) const
 Get the matrix element at the given row and column. More...
 
__device__ __host__ T & operator() (size_t row, size_t column)
 Get the matrix element at the given row and column. More...
 
template<class VectorType >
__device__ __host__ VectorType operator* (const VectorType &vector) const
 
__device__ __host__ self_type operator* (const self_type &matrix) const
 
__device__ __host__ matrix< T, NumberOfColumns, NumberOfRows > transposed () const
 
__device__ __host__ matrix< T, NumberOfColumns, NumberOfRows > normalized () const
 
__host__ std::string str () const
 

Static Public Member Functions

static __device__ __host__ matrix< T, NumberOfColumns, NumberOfRows > identity ()
 

Member Typedef Documentation

◆ self_type

template<class T, size_t NumberOfRows, size_t NumberOfColumns>
typedef matrix<T, NumberOfRows, NumberOfColumns> alsutils::matrix< T, NumberOfRows, NumberOfColumns >::self_type

Constructor & Destructor Documentation

◆ matrix()

template<class T, size_t NumberOfRows, size_t NumberOfColumns>
__device__ __host__ alsutils::matrix< T, NumberOfRows, NumberOfColumns >::matrix ( )
inline

Creates a matrix initialized to 0.

Member Function Documentation

◆ identity()

template<class T, size_t NumberOfRows, size_t NumberOfColumns>
static __device__ __host__ matrix<T, NumberOfColumns, NumberOfRows> alsutils::matrix< T, NumberOfRows, NumberOfColumns >::identity ( )
inlinestatic

◆ normalized()

template<class T, size_t NumberOfRows, size_t NumberOfColumns>
__device__ __host__ matrix<T, NumberOfColumns, NumberOfRows> alsutils::matrix< T, NumberOfRows, NumberOfColumns >::normalized ( ) const
inline

◆ operator()() [1/2]

template<class T, size_t NumberOfRows, size_t NumberOfColumns>
__device__ __host__ const T& alsutils::matrix< T, NumberOfRows, NumberOfColumns >::operator() ( size_t  row,
size_t  column 
) const
inline

Get the matrix element at the given row and column.

◆ operator()() [2/2]

template<class T, size_t NumberOfRows, size_t NumberOfColumns>
__device__ __host__ T& alsutils::matrix< T, NumberOfRows, NumberOfColumns >::operator() ( size_t  row,
size_t  column 
)
inline

Get the matrix element at the given row and column.

◆ operator*() [1/2]

template<class T, size_t NumberOfRows, size_t NumberOfColumns>
template<class VectorType >
__device__ __host__ VectorType alsutils::matrix< T, NumberOfRows, NumberOfColumns >::operator* ( const VectorType &  vector) const
inline

Matrix-vector multiplication. We only support this for quadratic matrices as of now.

◆ operator*() [2/2]

template<class T, size_t NumberOfRows, size_t NumberOfColumns>
__device__ __host__ self_type alsutils::matrix< T, NumberOfRows, NumberOfColumns >::operator* ( const self_type matrix) const
inline

◆ str()

template<class T, size_t NumberOfRows, size_t NumberOfColumns>
__host__ std::string alsutils::matrix< T, NumberOfRows, NumberOfColumns >::str ( ) const
inline

◆ transposed()

template<class T, size_t NumberOfRows, size_t NumberOfColumns>
__device__ __host__ matrix<T, NumberOfColumns, NumberOfRows> alsutils::matrix< T, NumberOfRows, NumberOfColumns >::transposed ( ) const
inline

The documentation for this class was generated from the following file: