|  | 
|  | Matrix ()=default | 
|  | Create matrix with all elements set to 0. 
 | 
|  | 
|  | ~Matrix ()=default | 
|  | Default destructor. 
 | 
|  | 
|  | Matrix (const Matrix< T, m, n > &mat)=default | 
|  | Default copy constructor.  More... 
 | 
|  | 
|  | Matrix (Matrix< T, m, n > &&mat)=default | 
|  | Default move constructor.  More... 
 | 
|  | 
| Matrix< T, m, n > & | operator= (const Matrix< T, m, n > &mat)=default | 
|  | Default assignment operator.  More... 
 | 
|  | 
| Matrix< T, m, n > & | operator= (Matrix< T, m, n > &&mat)=default | 
|  | Default move assignment operator.  More... 
 | 
|  | 
| constexpr | Matrix (std::initializer_list< std::initializer_list< T >> matrix_data) | 
|  | Create matrix. Throws invalid argument if passed data doesn't match with amount of rows or columns.  More... 
 | 
|  | 
| constexpr std::size_t | get_m () const noexcept | 
|  | Get the amount of rows of the matrix.  More... 
 | 
|  | 
| constexpr std::size_t | get_n () const noexcept | 
|  | Get the amount of cols of the matrix.  More... 
 | 
|  | 
| constexpr std::array< T, n > & | operator[] (std::size_t pos) noexcept | 
|  | Get row of matrix at pos. No bounds checkin.  More... 
 | 
|  | 
| constexpr const std::array< T, n > & | operator[] (std::size_t pos) const noexcept | 
|  | Get row of matrix at pos. No bounds checkin.  More... 
 | 
|  | 
| constexpr std::array< T, n > & | at (std::size_t pos) | 
|  | Get row of matrix at pos. Throw out of range exception if out of range.  More... 
 | 
|  | 
| constexpr const std::array< T, n > & | at (std::size_t pos) const | 
|  | Get row of matrix at pos. Throw out of range exception if out of range.  More... 
 | 
|  | 
| constexpr bool | fuzzy_equal (const Matrix< T, m, n > &mat, T fuzz) const noexcept | 
|  | Fuzzy compare 2 matrices.  More... 
 | 
|  | 
| constexpr bool | operator== (const Matrix< T, m, n > &mat) const noexcept | 
|  | Compare two matrices.  More... 
 | 
|  | 
| constexpr bool | operator!= (const Matrix< T, m, n > &mat) const noexcept | 
|  | Compare two matrices.  More... 
 | 
|  | 
| constexpr void | operator+= (T scalar) noexcept | 
|  | Add a scalar from every element of the matrix.  More... 
 | 
|  | 
| constexpr void | operator-= (T scalar) noexcept | 
|  | Subtract a scalar from every element of the matrix.  More... 
 | 
|  | 
| constexpr void | operator*= (T scalar) noexcept | 
|  | Multiply every element of the matrix with a scalar.  More... 
 | 
|  | 
| constexpr void | operator/= (T scalar) noexcept | 
|  | Divide every element of the matrix with a scalar.  More... 
 | 
|  | 
| constexpr void | operator+= (const Matrix< T, m, n > &mat) noexcept | 
|  | Add a matrix to another matrix.  More... 
 | 
|  | 
| constexpr void | operator-= (const Matrix< T, m, n > &mat) noexcept | 
|  | Subtract a matrix to another matrix.  More... 
 | 
|  | 
| constexpr Matrix< T, m, n > | operator+ (const Matrix< T, m, n > &mat) const noexcept | 
|  | Add a matrix to another matrix. Returns a new matrix.  More... 
 | 
|  | 
| constexpr Matrix< T, m, n > | operator- (const Matrix< T, m, n > &mat) const noexcept | 
|  | Subtract a matrix from another matrix. Returns a new matrix.  More... 
 | 
|  | 
| template<std::size_t p> | 
| constexpr Matrix< T, m, p > | operator* (const Matrix< T, n, p > &mat) const noexcept | 
|  | Multiply a matrix with the current matrix.  More... 
 | 
|  | 
| template<std::size_t p> | 
| constexpr Matrix< T, m, n+p > | horizontal_augment (const Matrix< T, m, p > &mat) const noexcept | 
|  | Right augment the current matrix with the provided matrix.  More... 
 | 
|  | 
| template<std::size_t p> | 
| constexpr Matrix< T, m+p, n > | vertical_augment (const Matrix< T, p, n > &mat) const noexcept | 
|  | Bottom augment the current matrix with the provided matrix.  More... 
 | 
|  | 
| template<std::size_t y, std::size_t x, std::size_t p, std::size_t q> | 
| constexpr Matrix< T, p, q > | slice () const noexcept | 
|  | Create a new matrix from the current one where some columns and rows are sliced of.  More... 
 | 
|  | 
| constexpr Matrix< T, n, m > | transpose () const noexcept | 
|  | Transpose the matrix.  More... 
 | 
|  | 
| constexpr std::optional< Matrix< T, m, n > > | inverse () const noexcept | 
|  | Get the inverse of the matrix, implemented by using gauss-jordan. This operation is only available for square matrices/.  More... 
 | 
|  | 
| constexpr T | get_magnitude () const noexcept | 
|  | Get the magnitude of the matrix. This is equivalent to the euclidean distance.  More... 
 | 
|  | 
| std::string | str () const | 
|  | Get a string representation.  More... 
 | 
|  | 
template<typename T, std::size_t m, std::size_t n>
class HLR::Kinematics::Matrix< T, m, n >
Create a matrix with numerical values. 
- Template Parameters
- 
  
    | T | The numerical type to elements have. |  | m | Amount of rows |  | n | Amount of columns |