General matrix and vectors class, meant for classic math manipulation such as additions, multiplications, and linear systems of equations solving.
| Public Member Functions | |
| Matrix (size_t numRows, size_t numColumns) | |
| Creates a new matrix with a given number of rows and columns. | |
| Matrix (size_t numRows, size_t numColumns, const ElementType *dataPointer) | |
| Creates a new matrix with a given number of rows and columns, with initial data coming from an array, stored in row-major order. | |
| Matrix (const Matrix &)=default | |
| Creates a copy of another matrix. | |
| Matrix (Matrix &&) noexcept=default | |
| Moves a copy of another matrix. | |
| Matrix & | operator= (const Matrix &)=default | 
| Creates a copy of another matrix. | |
| Matrix & | operator= (Matrix &&) noexcept=default | 
| Moves another matrix into this one. | |
| size_t | getNumRows () const noexcept | 
| Returns the number of rows in the matrix. | |
| size_t | getNumColumns () const noexcept | 
| Returns the number of columns in the matrix. | |
| Array< size_t > | getSize () const noexcept | 
| Returns an Array of 2 integers with the number of rows and columns in the matrix. | |
| void | clear () noexcept | 
| Fills the contents of the matrix with zeroes. | |
| Matrix & | swapRows (size_t rowOne, size_t rowTwo) noexcept | 
| Swaps the contents of two rows in the matrix and returns a reference to itself. | |
| Matrix & | swapColumns (size_t columnOne, size_t columnTwo) noexcept | 
| Swaps the contents of two columns in the matrix and returns a reference to itself. | |
| ElementType | operator() (size_t row, size_t column) const noexcept | 
| Returns the value of the matrix at a given row and column (for reading). | |
| ElementType & | operator() (size_t row, size_t column) noexcept | 
| Returns the value of the matrix at a given row and column (for modifying). | |
| ElementType * | getRawDataPointer () noexcept | 
| Returns a pointer to the raw data of the matrix object, ordered in row-major order (for modifying). | |
| const ElementType * | getRawDataPointer () const noexcept | 
| Returns a pointer to the raw data of the matrix object, ordered in row-major order (for reading). | |
| Matrix & | operator+= (const Matrix &other) noexcept | 
| Addition of two matrices. | |
| Matrix & | operator-= (const Matrix &other) noexcept | 
| Subtraction of two matrices. | |
| Matrix & | operator*= (ElementType scalar) noexcept | 
| Scalar multiplication. | |
| Matrix | operator+ (const Matrix &other) const | 
| Addition of two matrices. | |
| Matrix | operator- (const Matrix &other) const | 
| Addition of two matrices. | |
| Matrix | operator* (ElementType scalar) const | 
| Scalar multiplication. | |
| Matrix | operator* (const Matrix &other) const | 
| Matrix multiplication. | |
| Matrix & | hadarmard (const Matrix &other) noexcept | 
| Does a hadarmard product with the receiver and other and stores the result in the receiver. | |
| bool | operator== (const Matrix &other) const noexcept | 
| bool | isSquare () const noexcept | 
| Tells if the matrix is a square matrix. | |
| bool | isVector () const noexcept | 
| Tells if the matrix is a vector. | |
| bool | isOneColumnVector () const noexcept | 
| Tells if the matrix is a one column vector. | |
| bool | isOneRowVector () const noexcept | 
| Tells if the matrix is a one row vector. | |
| bool | isNullMatrix () const noexcept | 
| Tells if the matrix is a null matrix. | |
| bool | solve (Matrix &b) const noexcept | 
| Solves a linear system of equations represented by this object and the argument b, using various algorithms depending on the size of the arguments. | |
| String | toString () const | 
| Returns a String displaying in a convenient way the matrix contents. | |
| ElementType * | begin () noexcept | 
| ElementType * | end () noexcept | 
| const ElementType * | begin () const noexcept | 
| const ElementType * | end () const noexcept | 
| Static Public Member Functions | |
| static Matrix | identity (size_t size) | 
| Creates the identity matrix. | |
| static Matrix | toeplitz (const Matrix &vector, size_t size) | 
| Creates a Toeplitz Matrix from a vector with a given squared size. | |
| static Matrix | hankel (const Matrix &vector, size_t size, size_t offset=0) | 
| Creates a squared size x size Hankel Matrix from a vector with an optional offset. | |
| static Matrix | hadarmard (const Matrix &a, const Matrix &b) | 
| Does a hadarmard product with a and b returns the result. | |
| static bool | compare (const Matrix &a, const Matrix &b, ElementType tolerance=0) noexcept | 
| Compare to matrices with a given tolerance. | |
| 
 | inline | 
Creates a new matrix with a given number of rows and columns.
References clear().
Referenced by compare(), hadarmard(), hadarmard(), hankel(), identity(), Matrix(), Matrix(), operator*(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator=(), operator=(), operator==(), solve(), swapColumns(), swapRows(), and toeplitz().
| 
 | inline | 
Creates a new matrix with a given number of rows and columns, with initial data coming from an array, stored in row-major order.
| 
 | default | 
Creates a copy of another matrix.
References Matrix().
| 
 | defaultnoexcept | 
Moves a copy of another matrix.
References Matrix().
| 
 | default | 
Creates a copy of another matrix.
References Matrix().
| 
 | defaultnoexcept | 
Moves another matrix into this one.
References Matrix().
| 
 | static | 
| 
 | static | 
Creates a Toeplitz Matrix from a vector with a given squared size.
References Matrix(), and toeplitz().
Referenced by toeplitz().
| 
 | static | 
Creates a squared size x size Hankel Matrix from a vector with an optional offset.
| vector | The vector from which the Hankel matrix should be generated. Its number of rows should be at least 2 * (size - 1) + 1 | 
| size | The size of resulting square matrix. | 
| offset | An optional offset into the given vector. | 
References hankel(), and Matrix().
Referenced by hankel().
| 
 | inlinenoexcept | 
| 
 | inlinenoexcept | 
Returns the number of columns in the matrix.
| 
 | inlinenoexcept | 
Returns an Array of 2 integers with the number of rows and columns in the matrix.
| 
 | inlinenoexcept | 
| 
 | noexcept | 
Swaps the contents of two rows in the matrix and returns a reference to itself.
References Matrix().
| 
 | noexcept | 
Swaps the contents of two columns in the matrix and returns a reference to itself.
References Matrix().
| 
 | inlinenoexcept | 
Returns the value of the matrix at a given row and column (for reading).
References juce::column, jassert, and juce::row.
| 
 | inlinenoexcept | 
Returns the value of the matrix at a given row and column (for modifying).
References juce::column, jassert, and juce::row.
| 
 | inlinenoexcept | 
Returns a pointer to the raw data of the matrix object, ordered in row-major order (for modifying).
| 
 | inlinenoexcept | 
Returns a pointer to the raw data of the matrix object, ordered in row-major order (for reading).
| 
 | inlinenoexcept | 
Addition of two matrices.
References Matrix().
| 
 | inlinenoexcept | 
Subtraction of two matrices.
References Matrix().
| 
 | inlinenoexcept | 
| 
 | inline | 
Addition of two matrices.
References Matrix().
| 
 | inline | 
Addition of two matrices.
References Matrix().
| 
 | inline | 
Scalar multiplication.
References Matrix().
| Matrix juce::dsp::Matrix< ElementType >::operator* | ( | const Matrix< ElementType > & | other | ) | const | 
| 
 | inlinenoexcept | 
Does a hadarmard product with the receiver and other and stores the result in the receiver.
References Matrix().
Referenced by hadarmard().
| 
 | inlinestatic | 
Does a hadarmard product with a and b returns the result.
References hadarmard(), and Matrix().
| 
 | staticnoexcept | 
| 
 | inlinenoexcept | 
| 
 | inlinenoexcept | 
Tells if the matrix is a square matrix.
| 
 | inlinenoexcept | 
Tells if the matrix is a vector.
References isOneColumnVector(), and isOneRowVector().
| 
 | inlinenoexcept | 
Tells if the matrix is a one column vector.
Referenced by isVector().
| 
 | inlinenoexcept | 
Tells if the matrix is a one row vector.
Referenced by isVector().
| 
 | inlinenoexcept | 
Tells if the matrix is a null matrix.
| 
 | noexcept | 
Solves a linear system of equations represented by this object and the argument b, using various algorithms depending on the size of the arguments.
The matrix must be a square matrix N times N, and b must be a vector N times 1, with the coefficients of b. After the execution of the algorithm, the vector b will contain the solution.
Returns true if the linear system of equations was successfully solved.
References Matrix().
| String juce::dsp::Matrix< ElementType >::toString | ( | ) | const | 
Returns a String displaying in a convenient way the matrix contents.
| 
 | inlinenoexcept | 
Referenced by end(), and operator*=().
| 
 | inlinenoexcept | 
Referenced by operator*=().
| 
 | inlinenoexcept | 
| 
 | inlinenoexcept | 
References begin().