KrisLibrary
1.0.0
|
Performs a pre/postconditioned singular value decomposition. More...
#include <SVDecomposition.h>
Public Types | |
typedef MatrixTemplate< T > | MatrixT |
typedef VectorTemplate< T > | VectorT |
typedef DiagonalMatrixTemplate< T > | DiagonalMatrixT |
Public Member Functions | |
RobustSVD (const MatrixT &A) | |
bool | set (const MatrixT &A) |
bool | setConditioned (const MatrixT &A) |
void | setIdentity (int m, int n) |
void | setZero (int m, int n) |
void | resize (int m, int n) |
void | clear () |
void | backSub (const VectorT &b, VectorT &x) const |
void | dampedBackSub (const VectorT &b, T lambda, VectorT &x) const |
void | nullspaceComponent (const VectorT &x, VectorT &xNull) const |
int | getRank () const |
int | getNull () const |
void | getInverse (MatrixT &Ainv) const |
void | getDampedPseudoInverse (MatrixT &Aplus, T lambda) const |
void | getNullspace (MatrixT &N) const |
void | calcConditioning (const MatrixT &A) |
template<> | |
bool | set (const MatrixT &A) |
template<> | |
bool | set (const MatrixT &A) |
Public Attributes | |
DiagonalMatrixT | Pre |
SVDecomposition< T > | svd |
DiagonalMatrixT | Post |
T | zeroElementEpsilon |
bool | preMultiply |
bool | postMultiply |
Performs a pre/postconditioned singular value decomposition.
Performs the SVD on the matrix A' = Pre^-1*A*Post^-1 such that A = Pre*U*W*Vt*Post.
Also zero's out small elements of A' with tolerance zeroElementEpsilon.