This class stores a full matrix and allows one to do some simple matrix operations.
More...
|
| | Matrix (const Matrix< T > &t) |
| |
| | Matrix (const unsigned nr=0, const unsigned nc=0) |
| |
| std::vector< T > & | getVector () |
| | Return the contents of the matrix as a vector of length rw*cl.
|
| |
| unsigned | isSymmetric () const |
| | Test if the matrix is symmetric or not.
|
| |
| unsigned | ncols () const |
| | Return the number of columns.
|
| |
| unsigned | nrows () const |
| | Return the number of rows.
|
| |
| T & | operator() (const unsigned &i, const unsigned &j) |
| | Return a referenre to element i,j of the matrix.
|
| |
| const T & | operator() (const unsigned &i, const unsigned &j) const |
| | Return element i,j of the matrix.
|
| |
| Matrix< T > | operator*= (const T &v) |
| | Multiply all elements by v.
|
| |
| Matrix< T > & | operator+= (const Matrix< T > &m) |
| | Matrix addition.
|
| |
| Matrix< T > | operator+= (const T &v) |
| | Add v to all elements of the Matrix.
|
| |
| Matrix< T > & | operator-= (const Matrix< T > &m) |
| | Matrix subtraction.
|
| |
| Matrix< T > | operator-= (const T &v) |
| | Subtract v from all elements of the Matrix.
|
| |
| Matrix< T > & | operator= (const Matrix< T > &m) |
| | Set the Matrix equal to another Matrix.
|
| |
| Matrix< T > & | operator= (const std::vector< T > &v) |
| | Set the Matrix equal to the value of a standard vector - used for readin.
|
| |
| Matrix< T > & | operator= (const T &v) |
| | Set all elements of the matrix equal to the value of v.
|
| |
| Row | operator[] (unsigned i) |
| | access element (with [][] syntax)
|
| |
| Const_row | operator[] (unsigned i) const |
| | access element (with [][] syntax)
|
| |
| void | resize (const unsigned nr, const unsigned nc) |
| | Resize the matrix.
|
| |
| void | setFromVector (const std::vector< T > &vecin) |
| | Set the matrix from a vector input.
|
| |
|
| template<typename U> |
| void | chol_elsolve (const Matrix< U > &, const std::vector< U > &, std::vector< U > &) |
| | Solve a system of equations using the cholesky decomposition.
|
| |
| template<typename U> |
| void | cholesky (const Matrix< U > &, Matrix< U > &) |
| | Do a cholesky decomposition of a matrix.
|
| |
| template<typename U> |
| int | diagMat (const Matrix< U > &, std::vector< double > &, Matrix< double > &) |
| | Diagonalize a symmetric matrix - returns zero if diagonalization worked.
|
| |
| template<typename U> |
| int | Invert (const Matrix< U > &, Matrix< double > &) |
| | Invert a matrix (works for both symmetric and asymmetric matrices) - returns zero if sucesfull.
|
| |
| template<typename U> |
| int | logdet (const Matrix< U > &, double &) |
| | Calculate the logarithm of the determinant of a symmetric matrix - returns zero if succesfull.
|
| |
| template<typename U> |
| void | matrixOut (Log &, const Matrix< U > &) |
| | Output the Matrix in matrix form.
|
| |
| template<typename U> |
| void | mult (const Matrix< U > &, const Matrix< U > &, Matrix< U > &) |
| | Matrix matrix multiply.
|
| |
| template<typename U> |
| void | mult (const Matrix< U > &, const std::vector< U > &, std::vector< U > &) |
| | Matrix times a std::vector.
|
| |
| template<typename U> |
| void | mult (const std::vector< U > &, const Matrix< U > &, std::vector< U > &) |
| | std::vector times a Matrix
|
| |
| template<typename U> |
| Matrix< U > | operator* (U &, const Matrix< U > &) |
| | Multiply matrix by scalar.
|
| |
| template<typename U> |
| Log & | operator<< (Log &, const Matrix< U > &) |
| | Output the entire matrix on a single line.
|
| |
| template<typename U> |
| int | pseudoInvert (const Matrix< U > &, Matrix< double > &) |
| | Calculate the Moore-Penrose Pseudoinverse of a matrix.
|
| |
| template<typename U> |
| void | transpose (const Matrix< U > &, Matrix< U > &) |
| | Matrix transpose.
|
| |
template<typename T>
class PLMD::Matrix< T >
This class stores a full matrix and allows one to do some simple matrix operations.