#include <mrpt/math/CMatrixTemplateNumeric.h>
Public Member Functions | ||||
template<class R > | ||||
CMatrixTemplateNumeric (const CMatrixTemplate< R > &m) | ||||
Copy constructor from a matrix of any type. | ||||
CMatrixTemplateNumeric (size_t row=1, size_t col=1) | ||||
Constructor. | ||||
template<typename V , size_t N> | ||||
CMatrixTemplateNumeric (size_t row, size_t col, V(&theArray)[N]) | ||||
Constructor from a given size and a C array. | ||||
virtual | ~CMatrixTemplateNumeric () | |||
Destructor. | ||||
template<class R > | ||||
CMatrixTemplateNumeric< T > & | operator= (const CMatrixTemplateNumeric< R > &m) | |||
Assignment operator of other types. | ||||
template<typename V , size_t N> | ||||
CMatrixTemplateNumeric & | operator= (V(&theArray)[N]) | |||
Assignment operator for initializing from a C array (The matrix must be set to the correct size before invoking this asignament). | ||||
CMatrixTemplateNumeric< T > & | operator= (const CMatrixTemplateNumeric< T > &m) | |||
Assignment operator for the same type. | ||||
void | setSize (size_t row, size_t col) | |||
Changes the size of matrix. | ||||
void | saveToTextFile (const std::string &file, int fileFormat=0) const | |||
Save matrix to a text file, compatible with MATLAB text format. | ||||
void | loadFromTextFile (const std::string &file) | |||
Load matrix from a text file, compatible with MATLAB text format. | ||||
void | laplacian (CMatrixTemplateNumeric< T > &ret) const | |||
Computes the laplacian of the matrix, useful for graph matrixes. | ||||
void | svd (CMatrixTemplateNumeric< T > &U, std::vector< T > &W, CMatrixTemplateNumeric< T > &V) const | |||
Computes the SVD (Singular Value Decomposition) of the matrix. | ||||
void | eigenVectors (CMatrixTemplateNumeric< T > &Z, CMatrixTemplateNumeric< T > &D) const | |||
Computes the eigenvalues/eigenvector decomposition of a symmetric matrix. | ||||
CMatrixTemplateNumeric< T > | largestEigenvector (T resolution=0.01f, size_t maxIterations=6, int *out_Iterations=NULL, float *out_estimatedResolution=NULL) const | |||
Efficiently computes only the biggest eigenvector of the matrix using the Power Method, and returns it as a column vector. | ||||
void | Sqrt () | |||
Computes the sqrt of each element in the matrix, replacing current values;. | ||||
void | Abs () | |||
Computes the absolute value of each element in the matrix, replacing current values. | ||||
CMatrixTemplateNumeric< T > | operator+ () | |||
Unary operator. | ||||
CMatrixTemplateNumeric< T > | operator- () | |||
Unary operator. | ||||
CMatrixTemplateNumeric< T > & | operator+= (const CMatrixTemplateNumeric< T > &m) | |||
combined addition and assignment operator | ||||
CMatrixTemplateNumeric< T > & | addAt (const CMatrixTemplateNumeric< T > &m) | |||
Add to this matrix the transpose of A. | ||||
CMatrixTemplateNumeric< T > & | addAAt (const CMatrixTemplateNumeric< T > &m) | |||
Add to this matrix A and its transpose (this = this + A + At). | ||||
CMatrixTemplateNumeric< T > & | operator-= (const CMatrixTemplateNumeric< T > &m) | |||
combined subtraction and assignment operator | ||||
CMatrixTemplateNumeric< T > & | operator*= (const T &c) | |||
combined scalar multiplication and assignment operator | ||||
CMatrixTemplateNumeric< T > & | operator*= (const CMatrixTemplateNumeric< T > &m) | |||
combined matrix multiplication and assignment operator | ||||
void | multiply (const CMatrixTemplateNumeric< T > &m1, const CMatrixTemplateNumeric< T > &m2) | |||
Multiply 2 matrices and save the result in "this" object. | ||||
void | multiply (const CMatrixTemplateNumeric< T > &m1, const CVectorTemplate< T > &m2) | |||
Multiply one matrix by a column vector and save the result in "this" object. | ||||
void | multiply_ABt (const CMatrixTemplateNumeric< T > &m1, const CMatrixTemplateNumeric< T > &m2) | |||
Makes this = M1 * M2^T. | ||||
void | multiply_AAt (const CMatrixTemplateNumeric< T > &m1) | |||
Makes this = M1 * M1^T, taking into account that the result is symmetric and only half the computations must be done. | ||||
void | multiply_AtA (const CMatrixTemplateNumeric< T > &m1) | |||
Makes this = M1^T * M1, taking into account that the result is symmetric and only half the computations must be done. | ||||
void | multiply_Ab (const std::vector< T > &a, std::vector< T > &out_v) | |||
Computes the vector v = this * a, where "a" is a column vector of the appropriate length. | ||||
void | multiply_Atb (const std::vector< T > &a, std::vector< T > &out_v) | |||
Computes the vector v = this^T * a, where "a" is a column vector of the appropriate length. | ||||
void | multiply_result_is_symmetric (const CMatrixTemplateNumeric< T > &m1, const CMatrixTemplateNumeric< T > &m2) | |||
Multiply 2 matrices and save the result in "this" object, for the cases in which we know in advance that the result will be a symmetrical matrix (DO NOT USE OTHERWISE!!). | ||||
void | multiplySubMatrix (const CMatrixTemplateNumeric< T > &A, CMatrixTemplateNumeric< T > &outResult, const size_t &A_cols_offset, const size_t &A_rows_offset, const size_t &A_col_count) | |||
Matrix multiplication of this matrix with a submatrix of 'A', saving the result in a third matrix. | ||||
CMatrixTemplateNumeric< T > & | operator/= (const CMatrixTemplateNumeric< T > &m) | |||
Dot division by another matrix (element by element division). | ||||
CMatrixTemplateNumeric< T > & | operator/= (const T &c) | |||
combined scalar division and assignment operator | ||||
CMatrixTemplateNumeric< T > & | operator+= (const T &c) | |||
Combined scalar addition and assignment operator. | ||||
CMatrixTemplateNumeric< T > & | operator-= (const T &c) | |||
Combined scalar substraction and assignment operator. | ||||
CMatrixTemplateNumeric< T > & | operator^= (const unsigned int &pow) | |||
combined power and assignment operator | ||||
void | scalarPow (T s) | |||
Scalar power of all elements to a given power, this is diferent of ^ operator. | ||||
void | zeros (const size_t &row, const size_t &col) | |||
Set all elements to zero. | ||||
void | zeros () | |||
Set all elements to zero. | ||||
void | ones (const size_t &row, const size_t &col) | |||
Set all elements to one. | ||||
void | ones () | |||
Set all elements to one. | ||||
void | unit (const size_t &row) | |||
Build an unit matrix. | ||||
void | unit () | |||
Build an unit matrix. | ||||
CMatrixTemplateNumeric< T > | solve (const CMatrixTemplateNumeric< T > &v) | |||
Solve the matrix as linear equations system. | ||||
CMatrixTemplateNumeric< T > | adj () const | |||
Computes the adjunt of matrix. | ||||
CMatrixTemplateNumeric< T > | inv () const | |||
Computes the Inverse of matrix. | ||||
void | inv_fast (CMatrixTemplateNumeric< T > &out_inv) | |||
Computes the Inverse of matrix, DESTROYING the current matrix and returning the inverse in an user-supplied matrix. | ||||
T | det () const | |||
Computes the determinant of matrix. | ||||
T | norm () const | |||
Computes the norm of matrix. | ||||
T | cofact (size_t row, size_t col) const | |||
Computes the cofact. | ||||
T | cond () | |||
Computes the cond. | ||||
bool | isSingular () const | |||
Checks for matrix type. | ||||
bool | isDiagonal () const | |||
Checks for matrix type. | ||||
bool | isScalar () const | |||
Checks for matrix type. | ||||
bool | isUnit () const | |||
Checks for matrix type. | ||||
bool | isNull () const | |||
Checks for matrix type. | ||||
bool | isSymmetric () const | |||
Checks for matrix type. | ||||
bool | isSkewSymmetric () const | |||
Checks for matrix type. | ||||
bool | isUpperTriangular () const | |||
Checks for matrix type. | ||||
bool | isLowerTriangular () const | |||
Checks for matrix type. | ||||
std::string | inMatlabFormat () const | |||
Dump matrix in matlab format:. | ||||
void | matrix_floor () | |||
Round towards minus infinity modifying the matrix (by AJOGD @ JAN-2007). | ||||
void | matrix_floor (CMatrixTemplateNumeric< T > &out) | |||
Round towards minus infinity (by AJOGD @ JAN-2007). | ||||
void | matrix_ceil () | |||
Round towards plus infinity (by AJOGD @ JAN-2007). | ||||
void | find_index_max_value (size_t &umax, size_t &vmax, T &max_val) const | |||
Finds the maximum value in the matrix, and returns its position. | ||||
T | maximumDiagonal () const | |||
Finds the maximum value in the diagonal of the matrix. | ||||
T | maximum () const | |||
Finds the maximum value in the matrix. | ||||
T | minimum () const | |||
Finds the minimum value in the matrix. | ||||
void | find_index_min_value (size_t &umin, size_t &vmin, T &min_val) const | |||
Finds the minimum value in the matrix, and returns its position. | ||||
void | force_symmetry () | |||
Force symmetry in the matrix (by AJOGD @ JAN-2007). | ||||
void | mean (std::vector< T > &outMeanVector) const | |||
Computes a row with the mean values of each column in the matrix. | ||||
void | meanAndStd (std::vector< T > &outMeanVector, std::vector< T > &outStdVector) const | |||
Computes a row with the mean values of each column in the matrix and the associated vector with the standard deviation of each column. | ||||
void | meanAndStdAll (T &outMean, T &outStd) const | |||
Computes the mean and standard deviation of all the elements in the matrix as a whole. | ||||
template<class R > | ||||
void | extractMatrix (size_t nRow, size_t nCol, CMatrixTemplateNumeric< R > &in) const | |||
Extract a sub matrix from a matrix:
| ||||
void | extractMatrix (size_t nRow, size_t nCol, size_t nrows, size_t ncols, CMatrixTemplateNumeric< T > &outMat) const | |||
Extract a sub matrix from a matrix:
| ||||
void | extractMatrix (size_t nRow, size_t nCol, std::vector< T > &in) const | |||
Extract a sub matrix (vector) from a matrix:
| ||||
std::vector< T > | extractMatrix (size_t nRow, size_t nCol, size_t ncols) const | |||
Extract a sub matrix (vector) from a matrix:
| ||||
void | asCol () | |||
void | asRow () | |||
void | asCol (CMatrixTemplateNumeric< T > &aux) const | |||
void | asRow (CMatrixTemplateNumeric< T > &aux) const | |||
void | findElementsPassingMahalanobisThreshold (double stdTimes, std::vector< size_t > &rowIndexes, std::vector< size_t > &colIndexes, bool below=false) const | |||
Finds elements whose values are a given number of times above (or below) the mean, in 1D Mahalanobis distance. | ||||
void | normalize (T minVal=0, T maxVal=1) | |||
Adjusts the range of elements in the matrix such as the minimum and maximum values being those supplied by the user. | ||||
void | adjustRange (T minVal=0, T maxVal=1) | |||
Adjusts the range of elements in the matrix such as the minimum and maximum values being those supplied by the user. | ||||
T | sumAll () const | |||
Returns the sum of all the elements in the matrix. | ||||
T | sum (size_t firstRow=0, size_t firstCol=0, size_t lastRow=std::numeric_limits< size_t >::max(), size_t lastCol=std::numeric_limits< size_t >::max()) const | |||
Returns the sum of a given part of the matrix. | ||||
void | multiplyByMatrixAndByTransposeNonSymmetric (const CMatrixTemplateNumeric< T > &C, CMatrixTemplateNumeric< T > &R, bool accumOnOutput=false, bool substractInsteadOfSum=false) const | |||
Computes: R = H * C * H^t , where H is this matrix. | ||||
void | multiplyABC (const CMatrixTemplateNumeric< T > &A, const CMatrixTemplateNumeric< T > &B, const CMatrixTemplateNumeric< T > &C) | |||
Calculate the operation S = ABC where S is this object. | ||||
void | multiplyABCt (const CMatrixTemplateNumeric< T > &A, const CMatrixTemplateNumeric< T > &B, const CMatrixTemplateNumeric< T > &C) | |||
Calculate the operation S = ABCt where S is this object. | ||||
void | multiplyByMatrixAndByTranspose (const CMatrixTemplateNumeric< T > &C, CMatrixTemplateNumeric< T > &R, bool allowSubMatrixMultiplication=false, size_t subMatrixOffset=0, bool accumResultInOutput=false) const | |||
This executes the operation ![]() ![]() ![]() | ||||
T | multiplyByMatrixAndByTransposeScalar (const CMatrixTemplateNumeric< T > &C) const | |||
An special case of multiplyByMatrixAndByTranspose for the case of the resulting matrix being a scalar (that is, a 1x1 matrix) - This method directly returns this as a scalar avoiding the construction of a 1x1 matrix. | ||||
Private Member Functions | ||||
int | pivot (size_t row) | |||
Internal use. | ||||
Static Private Member Functions | ||||
static void | tred2 (T **a, size_t nn, T d[], T e[]) | |||
Householder reduction of a real, symmetric matrix a[1. | ||||
static void | tqli (T d[], T e[], size_t nn, T **z) | |||
QL algorithm with implicit shifts, to determine the eigenvalues and eigenvectors of a real, symmetric, tridiagonal matrix, or of a real, symmetric matrix previously reduced by tred2 x11.2. | ||||
static T | pythag (T a, T b) | |||
Auxiliary function (internal use only). | ||||
static T | SIGN (T a, T b) | |||
Auxiliary function (internal use only). | ||||
static void | svdcmp (T *a[], int m, int n, T w[], T *v[]) | |||
SVD-Decomposition. |
The following operators have been implemented:
Implemented Operators | |
x=M(i,j) M(i,j)=x | This () operator is used to access/change the element at i'th row, j'th column. First index is 0. |
!M | The matrix inverse M-1 |
~M | The matrix transpose MT |
(M^n) | Power of a matrix: (M*M*M*...M) n times. Use parenthesis with this operator. Use "scalarPow" for the power of individual elements in the matrix. |
M1 = M2 | Assignment operator: Copy matrix M2 to M1 |
M1 == M2 M1 != M2 | Logical comparison: Returns true or false if all elements are identical. |
x * M | Scalar multiplication |
M1 * M2 | Matrix multiplication, with the usual mathematical meaning |
M1 + M2 M1 M2 | Matrixes addition and substraction. |
M / x | Scalar division |
M1 / M2 | Equivalent to (M1 * M2-1) |
stream << M; | Write to a binary CStream, since this class is CSerializable |
stream >> M; | Read from a binary CStream, since this class is CSerializable |
Definition at line 97 of file CMatrixTemplateNumeric.h.
mrpt::math::CMatrixTemplateNumeric< T >::CMatrixTemplateNumeric | ( | const CMatrixTemplate< R > & | m | ) | [inline] |
Copy constructor from a matrix of any type.
Definition at line 103 of file CMatrixTemplateNumeric.h.
mrpt::math::CMatrixTemplateNumeric< T >::CMatrixTemplateNumeric | ( | size_t | row = 1 , |
|
size_t | col = 1 | |||
) | [inline] |
mrpt::math::CMatrixTemplateNumeric< T >::CMatrixTemplateNumeric | ( | size_t | row, | |
size_t | col, | |||
V(&) | theArray[N] | |||
) | [inline] |
Constructor from a given size and a C array.
The array length must match cols x row.
const double numbers[] = { 1,2,3, 4,5,6 }; CMatrixDouble M(3,2, numbers);
Definition at line 126 of file CMatrixTemplateNumeric.h.
virtual mrpt::math::CMatrixTemplateNumeric< T >::~CMatrixTemplateNumeric | ( | ) | [inline, virtual] |
void mrpt::math::CMatrixTemplateNumeric< T >::Abs | ( | ) | [inline] |
Computes the absolute value of each element in the matrix, replacing current values.
Definition at line 612 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::addAAt | ( | const CMatrixTemplateNumeric< T > & | m | ) | [inline] |
Add to this matrix A and its transpose (this = this + A + At).
Definition at line 672 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::addAt | ( | const CMatrixTemplateNumeric< T > & | m | ) | [inline] |
CMatrixTemplateNumeric<T> mrpt::math::CMatrixTemplateNumeric< T >::adj | ( | ) | const [inline] |
void mrpt::math::CMatrixTemplateNumeric< T >::adjustRange | ( | T | minVal = 0 , |
|
T | maxVal = 1 | |||
) | [inline] |
Adjusts the range of elements in the matrix such as the minimum and maximum values being those supplied by the user.
Definition at line 2120 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::normalize().
void mrpt::math::CMatrixTemplateNumeric< T >::asCol | ( | CMatrixTemplateNumeric< T > & | aux | ) | const [inline] |
Definition at line 2038 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::asCol | ( | ) | [inline] |
Definition at line 2015 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::asRow | ( | CMatrixTemplateNumeric< T > & | aux | ) | const [inline] |
Definition at line 2048 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::asRow | ( | ) | [inline] |
Definition at line 2027 of file CMatrixTemplateNumeric.h.
T mrpt::math::CMatrixTemplateNumeric< T >::cofact | ( | size_t | row, | |
size_t | col | |||
) | const [inline] |
Computes the cofact.
Definition at line 1548 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::adj().
T mrpt::math::CMatrixTemplateNumeric< T >::cond | ( | ) | [inline] |
T mrpt::math::CMatrixTemplateNumeric< T >::det | ( | ) | const [inline] |
Computes the determinant of matrix.
Definition at line 1504 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::cofact(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::isSingular(), and mrpt::math::normalPDF().
void mrpt::math::CMatrixTemplateNumeric< T >::eigenVectors | ( | CMatrixTemplateNumeric< T > & | Z, | |
CMatrixTemplateNumeric< T > & | D | |||
) | const [inline] |
Computes the eigenvalues/eigenvector decomposition of a symmetric matrix.
The decomposition is: M = Z · D · ZT, where columns in Z are the eigenvectors and the diagonal matrix D contains the eigenvalues as diagonal elements, sorted in ascending order. The algorithm is taken from "Numerical recipes in C", freely available online.
Definition at line 422 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::utils::CMRPTCanvas::ellipseGaussian(), and mrpt::utils::CEnhancedMetaFile::ellipseGaussian().
std::vector<T> mrpt::math::CMatrixTemplateNumeric< T >::extractMatrix | ( | size_t | nRow, | |
size_t | nCol, | |||
size_t | ncols | |||
) | const [inline] |
Extract a sub matrix (vector) from a matrix:
std::exception | On index out of bounds The output matrix must have been previously set to the desired size. |
(by AJOGD @ JAN-2007)
Definition at line 2001 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::extractMatrix | ( | size_t | nRow, | |
size_t | nCol, | |||
std::vector< T > & | in | |||
) | const [inline] |
Extract a sub matrix (vector) from a matrix:
std::exception | On index out of bounds The output matrix must have been previously set to the desired size. |
(by AJOGD @ JAN-2007)
Definition at line 1983 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::extractMatrix | ( | size_t | nRow, | |
size_t | nCol, | |||
size_t | nrows, | |||
size_t | ncols, | |||
CMatrixTemplateNumeric< T > & | outMat | |||
) | const [inline] |
Extract a sub matrix from a matrix:
std::exception | On index out of bounds The output matrix must have been previously set to the desired size. |
(by AJOGD @ JAN-2007)
Definition at line 1965 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::extractMatrix | ( | size_t | nRow, | |
size_t | nCol, | |||
CMatrixTemplateNumeric< R > & | in | |||
) | const [inline] |
Extract a sub matrix from a matrix:
std::exception | On index out of bounds The output matrix must have been previously set to the desired size. |
(by AJOGD @ JAN-2007)
Definition at line 1946 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::find_index_max_value | ( | size_t & | umax, | |
size_t & | vmax, | |||
T & | max_val | |||
) | const [inline] |
Finds the maximum value in the matrix, and returns its position.
(by AJOGD @ JAN-2007)
Definition at line 1748 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::find_index_min_value | ( | size_t & | umin, | |
size_t & | vmin, | |||
T & | min_val | |||
) | const [inline] |
Finds the minimum value in the matrix, and returns its position.
(by AJOGD @ JAN-2007)
Definition at line 1810 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::findElementsPassingMahalanobisThreshold | ( | double | stdTimes, | |
std::vector< size_t > & | rowIndexes, | |||
std::vector< size_t > & | colIndexes, | |||
bool | below = false | |||
) | const [inline] |
Finds elements whose values are a given number of times above (or below) the mean, in 1D Mahalanobis distance.
This returns two lists with the "row" and "column" indexes (i,j) of those elements m[i][j] such as: m[i][j] > mean(matrix) + stdTimes·std(matrix) The elements below the threshold mean(matrix) - stdTimes·std(matrix) can also be obtained setting "below" to "true".
Definition at line 2065 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::force_symmetry | ( | ) | [inline] |
Force symmetry in the matrix (by AJOGD @ JAN-2007).
Definition at line 1831 of file CMatrixTemplateNumeric.h.
std::string mrpt::math::CMatrixTemplateNumeric< T >::inMatlabFormat | ( | ) | const [inline] |
CMatrixTemplateNumeric<T> mrpt::math::CMatrixTemplateNumeric< T >::inv | ( | ) | const [inline] |
Computes the Inverse of matrix.
Return the inverse of a matrix without modifying the original matrix
Definition at line 1403 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::cond(), mrpt::math::normalPDF(), and mrpt::math::operator!().
void mrpt::math::CMatrixTemplateNumeric< T >::inv_fast | ( | CMatrixTemplateNumeric< T > & | out_inv | ) | [inline] |
Computes the Inverse of matrix, DESTROYING the current matrix and returning the inverse in an user-supplied matrix.
By AJOGD/JLBC
Definition at line 1456 of file CMatrixTemplateNumeric.h.
bool mrpt::math::CMatrixTemplateNumeric< T >::isDiagonal | ( | ) | const [inline] |
Checks for matrix type.
Definition at line 1599 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::isScalar().
bool mrpt::math::CMatrixTemplateNumeric< T >::isLowerTriangular | ( | ) | const [inline] |
bool mrpt::math::CMatrixTemplateNumeric< T >::isNull | ( | ) | const [inline] |
bool mrpt::math::CMatrixTemplateNumeric< T >::isScalar | ( | ) | const [inline] |
Checks for matrix type.
Definition at line 1612 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::isUnit().
bool mrpt::math::CMatrixTemplateNumeric< T >::isSingular | ( | ) | const [inline] |
bool mrpt::math::CMatrixTemplateNumeric< T >::isSkewSymmetric | ( | ) | const [inline] |
bool mrpt::math::CMatrixTemplateNumeric< T >::isSymmetric | ( | ) | const [inline] |
bool mrpt::math::CMatrixTemplateNumeric< T >::isUnit | ( | ) | const [inline] |
bool mrpt::math::CMatrixTemplateNumeric< T >::isUpperTriangular | ( | ) | const [inline] |
void mrpt::math::CMatrixTemplateNumeric< T >::laplacian | ( | CMatrixTemplateNumeric< T > & | ret | ) | const [inline] |
Computes the laplacian of the matrix, useful for graph matrixes.
Definition at line 309 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric<T> mrpt::math::CMatrixTemplateNumeric< T >::largestEigenvector | ( | T | resolution = 0.01f , |
|
size_t | maxIterations = 6 , |
|||
int * | out_Iterations = NULL , |
|||
float * | out_estimatedResolution = NULL | |||
) | const [inline] |
Efficiently computes only the biggest eigenvector of the matrix using the Power Method, and returns it as a column vector.
The computation time for this method, in a Pentium 4 1.4Ghz is:
T = 7.0867e-008*n2 + 1.9191e-005*n + 0.0017494 seconds
where N is the matrix size.
Definition at line 547 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::loadFromTextFile | ( | const std::string & | file | ) | [inline] |
Load matrix from a text file, compatible with MATLAB text format.
Lines starting with '' or '#' are interpreted as comments and ignored.
Definition at line 224 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CVectorTemplate< KFTYPE >::loadFromTextFile().
void mrpt::math::CMatrixTemplateNumeric< T >::matrix_ceil | ( | ) | [inline] |
Round towards plus infinity (by AJOGD @ JAN-2007).
Definition at line 1738 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::matrix_floor | ( | CMatrixTemplateNumeric< T > & | out | ) | [inline] |
Round towards minus infinity (by AJOGD @ JAN-2007).
Definition at line 1727 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::matrix_floor | ( | ) | [inline] |
Round towards minus infinity modifying the matrix (by AJOGD @ JAN-2007).
Definition at line 1717 of file CMatrixTemplateNumeric.h.
T mrpt::math::CMatrixTemplateNumeric< T >::maximum | ( | ) | const [inline] |
Finds the maximum value in the matrix.
Definition at line 1782 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::adjustRange().
T mrpt::math::CMatrixTemplateNumeric< T >::maximumDiagonal | ( | ) | const [inline] |
Finds the maximum value in the diagonal of the matrix.
Definition at line 1768 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::mean | ( | std::vector< T > & | outMeanVector | ) | const [inline] |
Computes a row with the mean values of each column in the matrix.
Definition at line 1845 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::findElementsPassingMahalanobisThreshold().
void mrpt::math::CMatrixTemplateNumeric< T >::meanAndStd | ( | std::vector< T > & | outMeanVector, | |
std::vector< T > & | outStdVector | |||
) | const [inline] |
Computes a row with the mean values of each column in the matrix and the associated vector with the standard deviation of each column.
Definition at line 1870 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::meanAndStdAll | ( | T & | outMean, | |
T & | outStd | |||
) | const [inline] |
Computes the mean and standard deviation of all the elements in the matrix as a whole.
Definition at line 1910 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::findElementsPassingMahalanobisThreshold().
T mrpt::math::CMatrixTemplateNumeric< T >::minimum | ( | ) | const [inline] |
Finds the minimum value in the matrix.
Definition at line 1796 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::adjustRange().
void mrpt::math::CMatrixTemplateNumeric< T >::multiply | ( | const CMatrixTemplateNumeric< T > & | m1, | |
const CVectorTemplate< T > & | m2 | |||
) | [inline] |
Multiply one matrix by a column vector and save the result in "this" object.
Definition at line 801 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::multiply | ( | const CMatrixTemplateNumeric< T > & | m1, | |
const CMatrixTemplateNumeric< T > & | m2 | |||
) | [inline] |
Multiply 2 matrices and save the result in "this" object.
Definition at line 735 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::multiply_AAt | ( | const CMatrixTemplateNumeric< T > & | m1 | ) | [inline] |
Makes this = M1 * M1^T, taking into account that the result is symmetric and only half the computations must be done.
Definition at line 918 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::multiply_Ab | ( | const std::vector< T > & | a, | |
std::vector< T > & | out_v | |||
) | [inline] |
Computes the vector v = this * a, where "a" is a column vector of the appropriate length.
Definition at line 1040 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::multiply_ABt | ( | const CMatrixTemplateNumeric< T > & | m1, | |
const CMatrixTemplateNumeric< T > & | m2 | |||
) | [inline] |
void mrpt::math::CMatrixTemplateNumeric< T >::multiply_AtA | ( | const CMatrixTemplateNumeric< T > & | m1 | ) | [inline] |
Makes this = M1^T * M1, taking into account that the result is symmetric and only half the computations must be done.
Definition at line 979 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::multiply_Atb | ( | const std::vector< T > & | a, | |
std::vector< T > & | out_v | |||
) | [inline] |
Computes the vector v = this^T * a, where "a" is a column vector of the appropriate length.
Definition at line 1071 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::multiply_result_is_symmetric | ( | const CMatrixTemplateNumeric< T > & | m1, | |
const CMatrixTemplateNumeric< T > & | m2 | |||
) | [inline] |
Multiply 2 matrices and save the result in "this" object, for the cases in which we know in advance that the result will be a symmetrical matrix (DO NOT USE OTHERWISE!!).
Definition at line 1104 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::multiplyABC | ( | const CMatrixTemplateNumeric< T > & | A, | |
const CMatrixTemplateNumeric< T > & | B, | |||
const CMatrixTemplateNumeric< T > & | C | |||
) | [inline] |
Calculate the operation S = ABC where S is this object.
Definition at line 2251 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::multiplyABCt | ( | const CMatrixTemplateNumeric< T > & | A, | |
const CMatrixTemplateNumeric< T > & | B, | |||
const CMatrixTemplateNumeric< T > & | C | |||
) | [inline] |
Calculate the operation S = ABCt where S is this object.
Definition at line 2282 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::multiplyByMatrixAndByTranspose | ( | const CMatrixTemplateNumeric< T > & | C, | |
CMatrixTemplateNumeric< T > & | R, | |||
bool | allowSubMatrixMultiplication = false , |
|||
size_t | subMatrixOffset = 0 , |
|||
bool | accumResultInOutput = false | |||
) | const [inline] |
This executes the operation , where 'this' matrix is
and
is symmetric, in an efficient and numerically stable way.
If 'this' matrix is , then
must be
, and the result matrix
will be
. The result from this method is assured to be symmetric (if
is symmetric), whereas executing:
R = H * C * (~H);
If allowSubMatrixMultiplication=true, the multiplication will be performed with a submatrix of C only, with M being the number of columns of H, and C being possibly larger. This is useful in some SLAM problems. In this case, an optional offset 'subMatrixOffset' can be supplied such as a submatrix from the diagonal of C is used, starting at a given column and row index (first=0).
If accumResultInOutput=true, the contents of the output matrix will not be cleared, but added to the result of the operations. In this case it must have the correct size before calling or an exception will be raised since this probably is a bug.
Definition at line 2326 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::multiplyByMatrixAndByTransposeNonSymmetric | ( | const CMatrixTemplateNumeric< T > & | C, | |
CMatrixTemplateNumeric< T > & | R, | |||
bool | accumOnOutput = false , |
|||
bool | substractInsteadOfSum = false | |||
) | const [inline] |
Computes: R = H * C * H^t , where H is this matrix.
Definition at line 2195 of file CMatrixTemplateNumeric.h.
T mrpt::math::CMatrixTemplateNumeric< T >::multiplyByMatrixAndByTransposeScalar | ( | const CMatrixTemplateNumeric< T > & | C | ) | const [inline] |
An special case of multiplyByMatrixAndByTranspose for the case of the resulting matrix being a scalar (that is, a 1x1 matrix) - This method directly returns this as a scalar avoiding the construction of a 1x1 matrix.
This matrix (H) must be or a
matrix and C must by
, or an exception will be raised. Refer to multiplyByMatrixAndByTranspose for more information.
return = ( H * C * (~H) ) (0,0);
Definition at line 2419 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::multiplySubMatrix | ( | const CMatrixTemplateNumeric< T > & | A, | |
CMatrixTemplateNumeric< T > & | outResult, | |||
const size_t & | A_cols_offset, | |||
const size_t & | A_rows_offset, | |||
const size_t & | A_col_count | |||
) | [inline] |
Matrix multiplication of this matrix with a submatrix of 'A', saving the result in a third matrix.
OUT = THIS * A
Definition at line 1178 of file CMatrixTemplateNumeric.h.
T mrpt::math::CMatrixTemplateNumeric< T >::norm | ( | ) | const [inline] |
Computes the norm of matrix.
Definition at line 1535 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::cond(), and mrpt::math::CMatrixTemplateNumeric< KFTYPE >::largestEigenvector().
void mrpt::math::CMatrixTemplateNumeric< T >::normalize | ( | T | minVal = 0 , |
|
T | maxVal = 1 | |||
) | [inline] |
Adjusts the range of elements in the matrix such as the minimum and maximum values being those supplied by the user.
This method is just a shortcut for adjustRange.
Definition at line 2113 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::ones | ( | ) | [inline] |
Set all elements to one.
Definition at line 1311 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::ones().
void mrpt::math::CMatrixTemplateNumeric< T >::ones | ( | const size_t & | row, | |
const size_t & | col | |||
) | [inline] |
Set all elements to one.
Definition at line 1303 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::largestEigenvector().
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::operator*= | ( | const CMatrixTemplateNumeric< T > & | m | ) | [inline] |
combined matrix multiplication and assignment operator
Definition at line 714 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::operator*= | ( | const T & | c | ) | [inline] |
combined scalar multiplication and assignment operator
Definition at line 704 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric<T> mrpt::math::CMatrixTemplateNumeric< T >::operator+ | ( | ) | [inline] |
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::operator+= | ( | const T & | c | ) | [inline] |
Combined scalar addition and assignment operator.
Definition at line 1245 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::operator+= | ( | const CMatrixTemplateNumeric< T > & | m | ) | [inline] |
CMatrixTemplateNumeric<T> mrpt::math::CMatrixTemplateNumeric< T >::operator- | ( | ) | [inline] |
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::operator-= | ( | const T & | c | ) | [inline] |
Combined scalar substraction and assignment operator.
Definition at line 1255 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::operator-= | ( | const CMatrixTemplateNumeric< T > & | m | ) | [inline] |
combined subtraction and assignment operator
Definition at line 689 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::operator/= | ( | const T & | c | ) | [inline] |
combined scalar division and assignment operator
Definition at line 1230 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::operator/= | ( | const CMatrixTemplateNumeric< T > & | m | ) | [inline] |
Dot division by another matrix (element by element division).
Definition at line 1212 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::operator= | ( | const CMatrixTemplateNumeric< T > & | m | ) | [inline] |
Assignment operator for the same type.
Reimplemented in mrpt::math::CMatrix, and mrpt::math::CMatrixD.
Definition at line 166 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric& mrpt::math::CMatrixTemplateNumeric< T >::operator= | ( | V(&) | theArray[N] | ) | [inline] |
Assignment operator for initializing from a C array (The matrix must be set to the correct size before invoking this asignament).
CMatrixDouble M(3,2); const double numbers[] = { 1,2,3, 4,5,6 }; M = numbers;
Reimplemented from mrpt::math::CMatrixTemplate< T >.
Definition at line 158 of file CMatrixTemplateNumeric.h.
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::operator= | ( | const CMatrixTemplateNumeric< R > & | m | ) | [inline] |
Assignment operator of other types.
Definition at line 137 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::operator=(), and mrpt::math::CMatrixD::operator=().
CMatrixTemplateNumeric<T>& mrpt::math::CMatrixTemplateNumeric< T >::operator^= | ( | const unsigned int & | pow | ) | [inline] |
int mrpt::math::CMatrixTemplateNumeric< T >::pivot | ( | size_t | row | ) | [inline, private] |
Internal use.
Definition at line 2473 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::det(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::inv(), and mrpt::math::CMatrixTemplateNumeric< KFTYPE >::solve().
static T mrpt::math::CMatrixTemplateNumeric< T >::pythag | ( | T | a, | |
T | b | |||
) | [inline, static, private] |
Auxiliary function (internal use only).
Definition at line 2669 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::svdcmp(), and mrpt::math::CMatrixTemplateNumeric< KFTYPE >::tqli().
void mrpt::math::CMatrixTemplateNumeric< T >::saveToTextFile | ( | const std::string & | file, | |
int | fileFormat = 0 | |||
) | const [inline] |
Save matrix to a text file, compatible with MATLAB text format.
fileFormat | 0(default)=engineering format 'e', 1=Floating number format 'f', 2=Integers 'i' |
Definition at line 187 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::chol(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::inv(), and mrpt::math::CVectorTemplate< KFTYPE >::saveToTextFile().
void mrpt::math::CMatrixTemplateNumeric< T >::scalarPow | ( | T | s | ) | [inline] |
Scalar power of all elements to a given power, this is diferent of ^ operator.
Definition at line 1277 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::setSize | ( | size_t | row, | |
size_t | col | |||
) | [inline] |
Changes the size of matrix.
Reimplemented from mrpt::math::CMatrixTemplate< T >.
Definition at line 178 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::asCol(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::asRow(), mrpt::math::chol(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::eigenVectors(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::extractMatrix(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::inv_fast(), mrpt::math::CVectorTemplate< KFTYPE >::likeMatrix(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::matrix_floor(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::multiply(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::multiply_AAt(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::multiply_ABt(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::multiply_AtA(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::multiply_result_is_symmetric(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::multiplyByMatrixAndByTransposeNonSymmetric(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::multiplySubMatrix(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::ones(), mrpt::math::CQuaternion< T >::q_normJac(), mrpt::math::CQuaternion< T >::q_rotation_matrix(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::svd(), mrpt::math::CMatrixTemplateNumeric< KFTYPE >::unit(), and mrpt::math::CMatrixTemplateNumeric< KFTYPE >::zeros().
static T mrpt::math::CMatrixTemplateNumeric< T >::SIGN | ( | T | a, | |
T | b | |||
) | [inline, static, private] |
Auxiliary function (internal use only).
Definition at line 2679 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::svdcmp(), and mrpt::math::CMatrixTemplateNumeric< KFTYPE >::tqli().
CMatrixTemplateNumeric<T> mrpt::math::CMatrixTemplateNumeric< T >::solve | ( | const CMatrixTemplateNumeric< T > & | v | ) | [inline] |
Solve the matrix as linear equations system.
Definition at line 1337 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::Sqrt | ( | ) | [inline] |
Computes the sqrt of each element in the matrix, replacing current values;.
Definition at line 596 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::utils::CMRPTCanvas::ellipseGaussian(), and mrpt::utils::CEnhancedMetaFile::ellipseGaussian().
T mrpt::math::CMatrixTemplateNumeric< T >::sum | ( | size_t | firstRow = 0 , |
|
size_t | firstCol = 0 , |
|||
size_t | lastRow = std::numeric_limits<size_t>::max() , |
|||
size_t | lastCol = std::numeric_limits<size_t>::max() | |||
) | const [inline] |
Returns the sum of a given part of the matrix.
The default value (std::numeric_limits<size_t>::max()) for the last column/row means to sum up to the last column/row.
Definition at line 2154 of file CMatrixTemplateNumeric.h.
T mrpt::math::CMatrixTemplateNumeric< T >::sumAll | ( | ) | const [inline] |
Returns the sum of all the elements in the matrix.
Definition at line 2135 of file CMatrixTemplateNumeric.h.
void mrpt::math::CMatrixTemplateNumeric< T >::svd | ( | CMatrixTemplateNumeric< T > & | U, | |
std::vector< T > & | W, | |||
CMatrixTemplateNumeric< T > & | V | |||
) | const [inline] |
Computes the SVD (Singular Value Decomposition) of the matrix.
If "this" matrix is named A with dimensions M x N, this method computes:
A = U * W * V'
, where U is a M x N column orthogonal matrix, W is a diagonal matrix containing the singular values, and V is a NxN matrix.
This method returns the U matrix, the N elements in the diagonal of W as a vector, and the matrix V, NOT TRANSPOSED.
Definition at line 354 of file CMatrixTemplateNumeric.h.
static void mrpt::math::CMatrixTemplateNumeric< T >::svdcmp | ( | T * | a[], | |
int | m, | |||
int | n, | |||
T | w[], | |||
T * | v[] | |||
) | [inline, static, private] |
SVD-Decomposition.
Extracted from "Numerical recipes in C++" eBook at http://www.nr.com
Definition at line 2687 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::svd().
static void mrpt::math::CMatrixTemplateNumeric< T >::tqli | ( | T | d[], | |
T | e[], | |||
size_t | nn, | |||
T ** | z | |||
) | [inline, static, private] |
QL algorithm with implicit shifts, to determine the eigenvalues and eigenvectors of a real, symmetric, tridiagonal matrix, or of a real, symmetric matrix previously reduced by tred2 x11.2.
On input, d[1..n] contains the diagonal elements of the tridiagonal matrix. On output, it returns the eigenvalues. The vector e[1..n] inputs the subdiagonal elements of the tridiagonal matrix, with e[1] arbitrary. On output e is destroyed. When finding only the eigenvalues, several lines may be omitted, as noted in the comments. If the eigenvectors of a tridiagonal matrix are desired, the matrix z[1..n][1..n] is input as the identity matrix. If the eigenvectors of a matrix that has been reduced by tred2 are required, then z is input as the matrix output by tred2. In either case, the kth column of z returns the normalized eigenvector corresponding to d[k].
Definition at line 2593 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::eigenVectors().
static void mrpt::math::CMatrixTemplateNumeric< T >::tred2 | ( | T ** | a, | |
size_t | nn, | |||
T | d[], | |||
T | e[] | |||
) | [inline, static, private] |
Householder reduction of a real, symmetric matrix a[1.
.n][1..n]. On output, a is replaced by the orthogonal matrix Q reflecting the transformation. d[1..n] returns the diagonal elements of the tridiagonal matrix, and e[1..n] the off-diagonal elements, with e[1]=0. Several statements, as noted in comments, can be omitted if only eigenvalues are to be found, in which case a contains no useful information on output. Otherwise they are to be included.
Definition at line 2504 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::eigenVectors().
void mrpt::math::CMatrixTemplateNumeric< T >::unit | ( | ) | [inline] |
Build an unit matrix.
Definition at line 1328 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::unit().
void mrpt::math::CMatrixTemplateNumeric< T >::unit | ( | const size_t & | row | ) | [inline] |
Build an unit matrix.
Definition at line 1320 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::inv(), and mrpt::math::CMatrixTemplateNumeric< KFTYPE >::inv_fast().
void mrpt::math::CMatrixTemplateNumeric< T >::zeros | ( | ) | [inline] |
Set all elements to zero.
Definition at line 1294 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::multiplyABCt(), and mrpt::math::CMatrixTemplateNumeric< KFTYPE >::zeros().
void mrpt::math::CMatrixTemplateNumeric< T >::zeros | ( | const size_t & | row, | |
const size_t & | col | |||
) | [inline] |
Set all elements to zero.
Definition at line 1286 of file CMatrixTemplateNumeric.h.
Referenced by mrpt::math::CMatrixTemplateNumeric< KFTYPE >::multiplyByMatrixAndByTranspose(), and mrpt::math::CMatrixTemplateNumeric< KFTYPE >::multiplyByMatrixAndByTransposeNonSymmetric().
Page generated by Doxygen 1.5.8 for MRPT 0.6.5 SVN:exported at Mon Jan 12 13:00:16 UTC 2009 |