|
Itasca C++ Interface
|
DVMatrix is a double version of VMatrix. More...
#include <matrix.h>
Public Member Functions | |
| constexpr | DVMatrix (const DVMatrix< S > &m) |
| Copy constructor. | |
| constexpr | DVMatrix (const Matrix< double, S, 1 > &m) |
| Copy constructor, for Matrix class. | |
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 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 | VSWARNING (26495) Matrix() |
| Default constructor, does nothing and no initialization. | |
| constexpr POPWARNING | 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 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. | |
Additional Inherited Members | |
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] |
Related Functions inherited from VMatrix< double, S > | |
| constexpr VMatrix< double, 2 > | toMatrix (const Vector2< double > &v) |
| constexpr VMatrix< double, 3 > | toMatrix (const Vector3< double > &v) |
Related Functions inherited from Matrix< T, SX, SY > | |
| template<class T > | |
| Matrix< T, 3, 3 > | outerProduct (const Vector3< T > &v1, const Vector3< T > &v2) |
| Creates a 3X3 Matrix from the outer product of two Vector3 types. | |
| template<class T > | |
| Matrix< T, 2, 2 > | outerProduct (const Vector2< T > &v1, const Vector2< T > &v2) |
| Creates a 2X2 Matrix from the outer product of two Vector2 types. | |
| template<class T > | |
| constexpr T | determinant (const Matrix< T, 3, 3 > &mat) |
| Returns the determinant of a 3X3 Matrix. More... | |
| template<class T > | |
| constexpr T | determinant (const Matrix< T, 2, 2 > &mat) |
| Returns the determinant of a 2X2 Matrix. | |
| template<class T > | |
| constexpr Matrix< T, 3, 3 > | inverse (const Matrix< T, 3, 3 > &mat) |
| Returns the inverse of a 3X3 Matrix. More... | |
| template<class T > | |
| constexpr Matrix< T, 2, 2 > | inverse (const Matrix< T, 2, 2 > &mat) |
| Returns the inverse of a 2X2 Matrix. More... | |
| template<class T > | |
| constexpr Vector2< T > | operator* (const Matrix< T, 2, 2 > &m, const Vector2< T > &v) |
| template<class T > | |
| constexpr Vector3< T > | operator* (const Matrix< T, 3, 3 > &m, const Vector3< T > &v) |
| template<class T > | |
| Vector3< T > | operator* (const SymMatrix< T, 3 > &m, const Vector3< T > &v) |