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. | |
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] |
Related Symbols inherited from VMatrix< double, S > | |
constexpr VMatrix< double, 2 > | toMatrix (const Vector2< double > &v) |
constexpr VMatrix< double, 3 > | toMatrix (const Vector3< double > &v) |
Related Symbols 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. | |
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. | |
template<class T > | |
constexpr Matrix< T, 2, 2 > | inverse (const Matrix< T, 2, 2 > &mat) |
Returns the inverse of a 2X2 Matrix. | |
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) |