A template-based symmetric matrix class, size fixed at compile time. This primitive template-based matrix class should be used where the matrix size is fixed at compile time.  
 More...
|  | 
| constexpr | SymMatrix (const SymMatrix< T, SX > &)=default | 
|  | 
| constexpr SymMatrix< T, SX > & | operator= (const SymMatrix< T, SX > &)=default | 
|  | 
|  | SymMatrix (const T &t) | 
|  | Explicit constructor, initializes all elements to value t. 
 | 
|  | 
| const T & | get (unsigned x, unsigned y) const | 
|  | Retrieve value at row x column y. Bounds checking is done in a debug compile. 
 | 
|  | 
| T & | get (unsigned x, unsigned y) | 
|  | Retrieve value at row x column y. Bounds checking is done in a debug compile. 
 | 
|  | 
| 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. 
 | 
|  | 
| 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. 
 | 
|  | 
| const T & | operator() (unsigned x, unsigned y) const | 
|  | () operator access to get(x,y) 
 | 
|  | 
| T & | operator() (unsigned x, unsigned y) | 
|  | () operator access to get(x,y) 
 | 
|  | 
| constexpr UVect2 | size () const | 
|  | 
| const SymMatrix< T, SX > & | operator+= (const SymMatrix< T, SX > &m) | 
|  | In-place matrix addition. 
 | 
|  | 
| const SymMatrix< T, SX > & | operator-= (const SymMatrix< T, SX > &m) | 
|  | In-place matrix subtraction. 
 | 
|  | 
| const SymMatrix< T, SX > & | operator*= (const T &t) | 
|  | In-place multiplication by a scalar. 
 | 
|  | 
| const SymMatrix< T, SX > & | operator/= (const T &t) | 
|  | In-place division by a scalar. 
 | 
|  | 
| SymMatrix< T, SX > | operator+ (const SymMatrix< T, SX > &m) const | 
|  | Binary addition operator for a symetric matris. 
 | 
|  | 
| Matrix< T, SX, SX > | operator+ (const Matrix< T, SX, SX > &m) const | 
|  | Binary addition operator. 
 | 
|  | 
| SymMatrix< T, SX > | operator- (const SymMatrix< T, SX > &m) const | 
|  | Binary subtraction operator for a symetric matrix. 
 | 
|  | 
| Matrix< T, SX, SX > | operator- (const Matrix< T, SX, SX > &m) const | 
|  | Binary subtraction operator. 
 | 
|  | 
| SymMatrix< T, SX > | operator* (const T &t) const | 
|  | Binary scalar multiplication operator for a symetric matrix. 
 | 
|  | 
| SymMatrix< T, SX > | operator/ (const T &t) const | 
|  | Binary scalar division operator for a symetric matrix. 
 | 
|  | 
| constexpr Matrix< T, SX, SX > | operator* (const SymMatrix< T, SX > &m) const | 
|  | Binary matrix multiplication operator – simplest naive approach. 
 | 
|  | 
| template<unsigned SZ> | 
| constexpr Matrix< T, SX, SZ > | operator* (const Matrix< T, SX, 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> | 
| void | addBlock (const SymMatrix< T, SX2 > &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) 
 | 
|  | 
| template<unsigned BX, unsigned BY, unsigned SX2> | 
| void | addGenBlock (const SymMatrix< T, SX2 > &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. 
 | 
|  | 
| SymMatrix< T, 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{}) | 
|  | Sets all matrix elements to t. 
 | 
|  | 
| constexpr T | minEntry () const | 
|  | 
| constexpr T | maxEntry () const | 
|  | 
| Matrix< T, SX, SX > | toMatrix () const | 
|  | Returns its copy. 
 | 
|  | 
template<class T, unsigned SX>
class SymMatrix< T, SX >
A template-based symmetric matrix class, size fixed at compile time. This primitive template-based matrix class should be used where the matrix size is fixed at compile time.