This class stores a full matrix and allows one to do some simple matrix operations. More...
#include <Matrix.h>
Public Member Functions | |
Matrix (const unsigned nr=0, const unsigned nc=0) | |
Matrix (const Matrix< T > &t) | |
void | resize (const unsigned nr, const unsigned nc) |
Resize the matrix. More... | |
unsigned | nrows () const |
Return the number of rows. More... | |
unsigned | ncols () const |
Return the number of columns. More... | |
T | operator() (const unsigned &i, const unsigned &j) const |
Return element i,j of the matrix. More... | |
T & | operator() (const unsigned &i, const unsigned &j) |
Return a referenre to element i,j of the matrix. More... | |
Matrix< T > & | operator= (const T &v) |
Set all elements of the matrix equal to the value of v. More... | |
Matrix< T > & | operator= (const Matrix< T > &m) |
Set the Matrix equal to another Matrix. More... | |
Matrix< T > & | operator= (const std::vector< T > &v) |
Set the Matrix equal to the value of a standard vector - used for readin. More... | |
Matrix< T > | operator+= (const T &v) |
Add v to all elements of the Matrix. More... | |
Matrix< T > | operator*= (const T &v) |
Multiply all elements by v. More... | |
Matrix< T > & | operator+= (const Matrix< T > &m) |
Matrix addition. More... | |
Matrix< T > | operator-= (const T &v) |
Subtract v from all elements of the Matrix. More... | |
Matrix< T > & | operator-= (const Matrix< T > &m) |
Matrix subtraction. More... | |
unsigned | isSymmetric () const |
Test if the matrix is symmetric or not. More... | |
Row | operator[] (unsigned i) |
access element (with [][] syntax) More... | |
Const_row | operator[] (unsigned i) const |
access element (with [][] syntax) More... | |
Private Attributes | |
unsigned | sz |
Number of elements in matrix (nrows*ncols) More... | |
unsigned | rw |
Number of rows in matrix. More... | |
unsigned | cl |
Number of columns in matrix. More... | |
std::vector< T > | data |
The data in the matrix. More... | |
Friends | |
template<typename U > | |
Matrix< U > | operator* (U &, const Matrix< U > &) |
Multiply matrix by scalar. More... | |
template<typename U > | |
void | mult (const Matrix< U > &, const Matrix< U > &, Matrix< U > &) |
Matrix matrix multiply. More... | |
template<typename U > | |
void | mult (const Matrix< U > &, const std::vector< U > &, std::vector< U > &) |
Matrix times a std::vector. More... | |
template<typename U > | |
void | mult (const std::vector< U > &, const Matrix< U > &, std::vector< U > &) |
std::vector times a Matrix More... | |
template<typename U > | |
void | transpose (const Matrix< U > &, Matrix< U > &) |
Matrix transpose. More... | |
template<typename U > | |
Log & | operator<< (Log &, const Matrix< U > &) |
Output the entire matrix on a single line. More... | |
template<typename U > | |
void | matrixOut (Log &, const Matrix< U > &) |
Output the Matrix in matrix form. More... | |
template<typename U > | |
int | diagMat (const Matrix< U > &, std::vector< double > &, Matrix< double > &) |
Diagonalize a symmetric matrix - returns zero if diagonalization worked. More... | |
template<typename U > | |
int | pseudoInvert (const Matrix< U > &, Matrix< double > &) |
Calculate the Moore-Penrose Pseudoinverse of a matrix. More... | |
template<typename U > | |
int | logdet (const Matrix< U > &, double &) |
Calculate the logarithm of the determinant of a symmetric matrix - returns zero if succesfull. More... | |
template<typename U > | |
int | Invert (const Matrix< U > &, Matrix< double > &) |
Invert a matrix (works for both symmetric and assymetric matrices) - returns zero if sucesfull. More... | |
template<typename U > | |
void | cholesky (const Matrix< U > &, Matrix< U > &) |
Do a cholesky decomposition of a matrix. More... | |
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. More... | |
This class stores a full matrix and allows one to do some simple matrix operations.
|
inline |
|
inline |
|
inline |
Test if the matrix is symmetric or not.
|
inline |
Return the number of columns.
|
inline |
Return the number of rows.
|
inline |
Return element i,j of the matrix.
|
inline |
Return a referenre to element i,j of the matrix.
|
inline |
Multiply all elements by v.
|
inline |
Add v to all elements of the Matrix.
|
inline |
Matrix addition.
|
inline |
Subtract v from all elements of the Matrix.
|
inline |
Matrix subtraction.
|
inline |
Set all elements of the matrix equal to the value of v.
|
inline |
|
inline |
Set the Matrix equal to the value of a standard vector - used for readin.
|
inherited |
access element (with [][] syntax)
|
inherited |
access element (with [][] syntax)
|
inline |
Resize the matrix.
|
friend |
Solve a system of equations using the cholesky decomposition.
|
friend |
Do a cholesky decomposition of a matrix.
|
friend |
Diagonalize a symmetric matrix - returns zero if diagonalization worked.
|
friend |
Invert a matrix (works for both symmetric and assymetric matrices) - returns zero if sucesfull.
Calculate the logarithm of the determinant of a symmetric matrix - returns zero if succesfull.
Output the Matrix in matrix form.
|
friend |
Matrix matrix multiply.
|
friend |
Matrix times a std::vector.
|
friend |
std::vector times a Matrix
Multiply matrix by scalar.
Output the entire matrix on a single line.
|
friend |
Calculate the Moore-Penrose Pseudoinverse of a matrix.
|
friend |
Matrix transpose.
|
private |
Number of columns in matrix.
|
private |
The data in the matrix.
|
private |
Number of rows in matrix.
|
private |
Number of elements in matrix (nrows*ncols)
Hosted by GitHub | 1.8.10 |