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