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)
 
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.
 
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_ [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: