#include <rtcSMat.h>
Public Member Functions | |
int | choleskyDecomp () |
int | choleskyDecomp (SMat< T, M > &r) |
void | choleskySolve (Vec< T, M > &b) |
T | det () const |
Vec< T, M > | getDiag () |
int | invert () |
SMat< T, M > | inverted () const |
SMat< T, M > & | leftMultiply (const SMat< T, M > &m) |
int | luDecomp (Vec< int, M > &indx, T *d=NULL) |
void | luSolve (const Vec< int, M > &indx, Vec< T, M > &b) |
SMat< T, M-1 > | minorMat (const int ip, const int jp) const |
void | setDiag (const T a) |
void | setDiag (const Vec< T, M > &diagVec) |
void | setIdentity () |
SMat () | |
SMat (const T *d) | |
SMat (const T diagVal) | |
SMat (const Vec< T, M > &diagVec) | |
SMat (const Mat< T, M, M > &m) | |
template<class U > | |
SMat (const Mat< U, M, M > &m) | |
T | trace () const |
void | transpose () |
A square matrix. A specialization of a general matrix that provides operations only possible on square matrices like guassian elimination and Cholesky decomposition.
Ctor that initializes from a Mat<T,M,M>
int rtc::SMat< T, M >::choleskyDecomp | ( | ) | [inline] |
int rtc::SMat< T, M >::choleskyDecomp | ( | SMat< T, M > & | r | ) | [inline] |
void rtc::SMat< T, M >::choleskySolve | ( | Vec< T, M > & | b | ) | [inline] |
Perform a Cholesky Decomposition backsolve with given RHS. Precondtion: choleskyDecomp() has already been called
b | the RHS vector in the equation A*x = b |
Return the determinant of this matrix. This uses the LU decomposition. Matrices of size 3 and under have specialized implementations.
Reimplemented in rtc::SMat3< T >, and rtc::SMat2< T >.
Return the inverse of this matrix This uses the LU decomposition
Reimplemented in rtc::SMat3< T >, and rtc::SMat2< T >.
Return the inverse of this matrix This uses the LU decomposition
Reimplemented in rtc::Transform2D< T >, rtc::Transform< T >, rtc::Transform< float >, rtc::SMat3< T >, and rtc::SMat2< T >.
SMat< T, M > & rtc::SMat< T, M >::leftMultiply | ( | const SMat< T, M > & | m | ) | [inline] |
int rtc::SMat< T, M >::luDecomp | ( | Vec< int, M > & | indx, |
T * | d = NULL |
||
) | [inline] |
Perform the LU Decomposition in place
void rtc::SMat< T, M >::luSolve | ( | const Vec< int, M > & | indx, |
Vec< T, M > & | b | ||
) | [inline] |
Perform a LU Decomposition backsolve with given RHS. Precondtion: luDecomp(indx,d) has already been called
indx | the row-swap vector returned from luDecomp() |
b | the RHS vector in the equation A*x = b |
void rtc::SMat< T, M >::setIdentity | ( | ) | [inline] |