| modm API documentation
    | 
Class for handling common matrix operations. More...
#include <modm/math/matrix.hpp>
| Public Member Functions | |
| Matrix () = default | |
| Default Constructor.  More... | |
| Matrix (const T *data) | |
| Create a matrix from an array.  More... | |
| template<uint8_t MR, uint8_t MC> | |
| Matrix< T, MR, MC > | subMatrix (uint8_t row, uint8_t column) const | 
| Create a new sub matrix. | |
| bool | operator== (const Matrix &m) const | 
| bool | operator!= (const Matrix &m) const | 
| const T * | operator[] (uint8_t row) const | 
| T * | operator[] (uint8_t row) | 
| uint8_t | getNumberOfRows () const | 
| uint8_t | getNumberOfColumns () const | 
| Matrix< T, 1, COLUMNS > | getRow (uint8_t index) const | 
| Matrix< T, ROWS, 1 > | getColumn (uint8_t index) const | 
| const T * | ptr () const | 
| T * | ptr () | 
| Matrix | operator- () | 
| Matrix | operator+ (const Matrix &rhs) const | 
| Matrix | operator- (const Matrix &rhs) const | 
| Matrix | operator* (const T &rhs) const | 
| Scalar multiplication. | |
| Matrix | operator/ (const T &rhs) const | 
| Scalar division. | |
| Matrix & | operator+= (const Matrix &rhs) | 
| Matrix & | operator-= (const Matrix &rhs) | 
| Matrix & | operator*= (const T &rhs) | 
| Scalar multiplication. | |
| Matrix & | operator/= (const T &rhs) | 
| Scalar division. | |
| Matrix | operator*= (const Matrix &rhs) | 
| Matrix multiplication with matrices with the same size. | |
| template<uint8_t RHSCOL> | |
| Matrix< T, ROWS, RHSCOL > | operator* (const Matrix< T, COLUMNS, RHSCOL > &rhs) const | 
| Matrix multiplication with different size matrices. | |
| Matrix< T, COLUMNS, ROWS > | asTransposed () const | 
| void | transpose () | 
| Transpose the matrix.  More... | |
| T | determinant () const | 
| Calculate the determinant.  More... | |
| bool | hasNan () const | 
| bool | hasInf () const | 
| template<typename U > | |
| Matrix & | replace (const U *data) | 
| Fill the matrix with the values in data. | |
| template<uint8_t MW, uint8_t MH> | |
| Matrix & | replace (uint8_t row, uint8_t column, const Matrix< T, MW, MH > &m) | 
| Matrix & | replaceRow (uint8_t index, const Matrix< T, 1, COLUMNS > &m) | 
| Matrix & | replaceColumn (uint8_t index, const Matrix< T, ROWS, 1 > &m) | 
| Matrix< T, ROWS, COLUMNS+1 > | addColumn (uint8_t index, const Matrix< T, ROWS, 1 > &c) const | 
| Matrix< T, ROWS+1, COLUMNS > | addRow (uint8_t index, const Matrix< T, 1, COLUMNS > &r) const | 
| Matrix< T, ROWS, COLUMNS-1 > | removeColumn (uint8_t index) const | 
| Matrix< T, ROWS-1, COLUMNS > | removeRow (uint8_t index) const | 
| Static Public Member Functions | |
| static const Matrix & | identityMatrix () | 
| Get a identity matrix.  More... | |
| Public Attributes | |
| T | element [ROWS *COLUMNS] | 
Class for handling common matrix operations.
Having the width and height as template parameters has several advantages over the tradition dynamic matrix class:
Adapted from the implementation of Gaspard Petit (gaspardpetit@gmail.com).
| ROWS | Number of rows | 
| COLUMNS | Number of columns | 
| 
 | explicitconstexprdefault | 
Default Constructor.
Create a matrix from an initializer list.
Creates a Matrix with uninitialized elements. Use zeroMatrix() to create a matrix with all elements set to zero.
Example:
Get a zero matrix
Creates an internal zero matrix and returns a reference to that internal matrix.
| modm::Matrix< T, ROWS, COLUMNS >::Matrix | ( | const T * | data | ) | 
Create a matrix from an array.
Example:
| 
 | inline | 
Calculate the determinant.
Uses modm::determinant(*this);
| 
 | static | 
Get a identity matrix.
Creates an internal identity matrix and returns a reference to that internal matrix.
| 
 | inline | 
Transpose the matrix.