Itasca C++ Interface
Loading...
Searching...
No Matches
Public Member Functions | List of all members
DVMatrix< S > Class Template Reference

DVMatrix is a double version of VMatrix. More...

#include <matrix.h>

Inheritance diagram for DVMatrix< S >:
VMatrix< double, S > Matrix< T, SX, SY >

Public Member Functions

constexpr DVMatrix (const DVMatrix< S > &m)
 Copy constructor.
 
constexpr DVMatrix (const Matrix< double, S, 1 > &m)
 Copy constructor, for Matrix class.
 
const DVMatrix< S > & operator= (const DVMatrix< S > &m)
 
const DVMatrix< S > & operator= (const Matrix< double, S, 1 > &m)
 
- Public Member Functions inherited from VMatrix< double, S >
constexpr VMatrix (const VMatrix< double, S > &m)
 Copy constructor.
 
constexpr VMatrix (const Matrix< double, S, 1 > &m)
 Copy contructor, works on Matrix if SY is 1.
 
constexpr const VMatrix< double, S > & operator= (const VMatrix< double, S > &m)
 
constexpr const VMatrix< double, S > & operator= (const Matrix< double, S, 1 > &m)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
constexpr const double & operator[] (unsigned x) const
 1D version of array operator, which currently unfortunately eliminates [x][0] syntax on VMatrix (may need to fix later).
 
constexpr double & operator[] (unsigned x)
 1D version of array operator, which currently unfortunately eliminates [x][0] syntax on VMatrix (may need to fix later).
 
- Public Member Functions inherited from Matrix< T, SX, SY >
PUSHWARNING Matrix ()
 Default constructor, does nothing and no initialization.
 
POPWARNING constexpr Matrix (const T &t)
 Explicit constructor, initializes all elements to value t.
 
constexpr Matrix (const std::array< std::array< T, SY >, SX > &a)
 
constexpr Matrix (const std::initializer_list< std::initializer_list< T > > l)
 
constexpr Matrix (const Matrix< T, SX, SY > &m)
 Copy constructor.
 
constexpr const Matrix< T, SX, SY > & operator= (const Matrix< T, SX, SY > &m)
 Equality operator.
 
constexpr const T & get (unsigned x, unsigned y) const
 Retrieve value at row x column y. Bounds checking is done in a debug compile.
 
constexpr T & get (unsigned x, unsigned y)
 Retrieve value at row x column y. Bounds checking is done in a debug compile.
 
constexpr const Column operator[] (unsigned y) const
 Array access operator returns a Column helper class, which has it's own [] operator to access a column of the row.
 
constexpr Column operator[] (unsigned y)
 Array access operator returns a Column helper class, which has it's own [] operator to access a column of the row.
 
constexpr const T & operator() (unsigned x, unsigned y) const
 () operator access to get(x,y)
 
constexpr T & operator() (unsigned x, unsigned y)
 () operator access to get(x,y)
 
constexpr UVect2 size () const
 
constexpr const Matrix< T, SX, SY > & operator+= (const Matrix< T, SX, SY > &m)
 In-place matrix addition.
 
constexpr const Matrix< T, SX, SY > & operator-= (const Matrix< T, SX, SY > &m)
 In-place matrix subtraction.
 
constexpr const Matrix< T, SX, SY > & operator*= (const T &t)
 In-place multiplication by a scalar.
 
constexpr const Matrix< T, SX, SY > & operator/= (const T &t)
 In-place division by a scalar.
 
Matrix< T, SX, SY > operator+ (const Matrix< T, SX, SY > &m) const
 Binary addition operator.
 
Matrix< T, SX, SY > operator- (const Matrix< T, SX, SY > &m) const
 Binary subtraction operator.
 
Matrix< T, SX, SY > operator* (const T &t) const
 Binary scalar multiplication operator.
 
Matrix< T, SX, SY > operator/ (const T &t) const
 Binary scalar division operator.
 
template<unsigned SZ>
Matrix< T, SX, SZ > operator* (const Matrix< T, SY, SZ > &m) const
 Binary matrix multiplication operator – simplest naive approach.
 
template<unsigned BX, unsigned BY, unsigned SX2, unsigned SY2>
void addBlock (const Matrix< T, SX2, SY2 > &m, unsigned iSrc, unsigned jSrc, unsigned iDst, unsigned jDst)
 Adds a block to this matrix from matrix m using the block size (BX,BY), from block indices (iSrc,jSrc) to block indices (iDst,jDst)
 
template<unsigned BX, unsigned BY, unsigned SX2, unsigned SY2>
void addGenBlock (const Matrix< T, SX2, SY2 > &m, unsigned iSrc, unsigned jSrc, unsigned iDst, unsigned jDst)
 Adds a block to this matrix from matrix m using the block size (BX,BY), from normal not block indices (iSrc,jSrc) to (iDst,jDst)
 
T maxNorm () const
 Returns the infinity norm of the matrix, or the maximum absolute magnitude of any element.
 
Matrix< T, SY, SX > transpose () const
 Return the transpose of the matrix.
 
T trace () const
 Return the trace of the matrix or the sum of the diagonal components. Works also if the matrix is not square.
 
constexpr void set (const T &t=T())
 Set all entries in the matrix to t.
 
constexpr T minEntry () const
 
constexpr T maxEntry () const
 

Additional Inherited Members

- Public Types inherited from VMatrix< double, S >
using iterator
 
using const_iterator
 
- Static Public Member Functions inherited from Matrix< T, SX, SY >
static constexpr Matrix< T, SX, SY > identity ()
 Returns an identity matrix (or as close as you can get if not diagonal).
 
- Public Attributes inherited from Matrix< T, SX, SY >
T t_ [SX][SY]
 

Detailed Description

template<unsigned S>
class DVMatrix< S >

DVMatrix is a double version of VMatrix.


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