KrisLibrary
1.0.0
|
Performs the LDL^t decompositoin of a symmetric matrix A. More...
#include <LDL.h>
Public Types | |
typedef MatrixTemplate< T > | MatrixT |
typedef VectorTemplate< T > | VectorT |
Public Member Functions | |
LDLDecomposition (const MatrixT &A) | |
void | set (const MatrixT &A) |
bool | backSub (const VectorT &b, VectorT &x) const |
void | LBackSub (const VectorT &b, VectorT &x) const |
void | LTBackSub (const VectorT &b, VectorT &x) const |
bool | DBackSub (const VectorT &b, VectorT &x) const |
bool | backSub (const MatrixT &B, MatrixT &X) const |
bool | getInverse (MatrixT &Ainv) const |
void | getPseudoInverse (MatrixT &Ainv) const |
void | getL (MatrixT &L) const |
void | getD (VectorT &d) const |
void | getA (MatrixT &A) const |
void | mulL (const Vector &x, Vector &y) const |
void | mulLT (const Vector &x, Vector &y) const |
void | mulD (const Vector &x, Vector &y) const |
void | update (const VectorT &x) |
Update the LDL decomposition for A + xx^t. | |
bool | downdate (const VectorT &x) |
"Downdate" the LDL decomposition for A - xx^t (on failure, LDL is undefined) | |
Public Attributes | |
MatrixT | LDL |
T | zeroTolerance |
int | verbose |
Performs the LDL^t decompositoin of a symmetric matrix A.
L is stored in the lower diagonal of LDL, D is stored in the diagonal. If any of the elements of D's diagonal have abs value less than zeroTolerance (i.e. A is singular), then they are ignored.