| 
    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.