#include <jrl/mal/boostmatrixsvd.hh>
Public Member Functions | |
MatrixSvd (const unsigned int rows=0, const unsigned int cols=0) | |
MatrixSvd (InternalMatrix *clone, const bool=false) | |
MatrixSvd (const MatrixSvd ©) | |
virtual Matrix & | pseudoInverse (Matrix &invMatrix, const FloatType threshold=1e-6, Matrix *Uref=NULL, Vector *Sref=NULL, Matrix *Vref=NULL) const |
Compute the pseudo-inverse of the matrix. More... | |
virtual Matrix & | dampedInverse (Matrix &invMatrix, const FloatType threshold=1e-6, Matrix *Uref=NULL, Vector *Sref=NULL, Matrix *Vref=NULL) const |
Compute the pseudo-inverse of the matrix. More... | |
virtual Matrix & | pseudoInverse (Matrix &invMatrix, const FloatType threshold=1e-6, Matrix *Uref=NULL, Vector *Sref=NULL, Matrix *Vref=NULL) const |
Compute the pseudo-inverse of the matrix. More... | |
Matrix | pseudoInverse (const FloatType threshold=1e-6, Matrix *U=NULL, Vector *S=NULL, Matrix *V=NULL) const |
virtual Matrix & | dampedInverse (Matrix &invMatrix, const FloatType threshold=1e-6, Matrix *Uref=NULL, Vector *Sref=NULL, Matrix *Vref=NULL) const |
Compute the pseudo-inverse of the matrix. More... | |
Matrix | dampedInverse (const FloatType threshold=1e-6, Matrix *U=NULL, Vector *S=NULL, Matrix *V=NULL) const |
![]() | |
Matrix (const unsigned int rows=0, const unsigned int cols=0) | |
Classical constructor. More... | |
Matrix (InternalMatrix *clone, const bool proprio=false) | |
Build only the capsule around a already existing boost vector object. More... | |
Matrix (const Matrix ©) | |
Build a new internal vector from existing boost vector object by copying the data. More... | |
virtual | ~Matrix (void) |
InternalMatrix & | accessToMotherLib (void) |
Access to the boost internal vector. More... | |
const InternalMatrix & | accessToMotherLib (void) const |
Access to the boost internal vector. More... | |
Matrix & | initFromMotherLib (const InternalMatrix &bv) |
Copy the values and data of an existing boost vector. More... | |
Matrix & | resize (const unsigned int nbRows, const unsigned int nbCols, const bool setZero=true) |
unsigned int | nbRows (void) const |
Get the number of rows. More... | |
unsigned int | nbCols (void) const |
Get the number of columns. More... | |
Matrix & | setZero (void) |
Matrix & | setIdentity (void) |
Matrix & | fill (const FloatType value) |
FloatType | determinant (void) const |
FloatType | trace (void) const |
Not implemented yet. More... | |
FloatType | norm (void) const |
Not implemented yet. More... | |
FloatType | norm1 (void) const |
Norm 1 sum( |xi| ) More... | |
FloatType | normInfty (void) const |
FloatType | max (void) const |
Not implemented yet. More... | |
FloatType | min (void) const |
Not implemented yet. More... | |
FloatType | sumSquare (void) const |
Not implemented yet. More... | |
Matrix & | transpose (Matrix &At) const |
Matrix | transpose (void) const |
Matrix & | inverse (Matrix &invMatrix) const |
Compute the inverse of the matrix. More... | |
Matrix | inverse (void) const |
Matrix | pseudoInverse (const FloatType threshold=1e-6, Matrix *U=NULL, Vector *S=NULL, Matrix *V=NULL) const |
Matrix | dampedInverse (const FloatType threshold=1e-6, Matrix *U=NULL, Vector *S=NULL, Matrix *V=NULL) const |
Matrix & | opposite (Matrix &res) const |
Compute the opposite of the matrix -M. More... | |
Matrix | opposite (void) const |
Compute the opposite of the matrix -M. More... | |
FloatType * | datablock (void) |
const FloatType * | datablock (void) const |
Matrix & | extract (const int top, const int left, const int nbrows, const int nbcols, Matrix &C) const |
Matrix | extract (const int top, const int left, const int nbrows, const int nbcols) |
const FloatType & | elementAt (const int row, const int col) const |
FloatType & | elementAt (const int row, const int col) |
const FloatType & | elementAt (const int elmt) const |
FloatType & | elementAt (const int elmt) |
Vector | getDiagonal (void) const |
Vector & | getDiagonal (Vector &vector) const |
Matrix & | setDiagonal (const Vector &vector) |
Matrix & | stackMatrix (const Matrix &, Matrix &C) const |
Matrix | stackMatrix (const Matrix &B) const |
Matrix & | juxtaposeMatrix (const Matrix &, Matrix &C) const |
Matrix | juxtaposeMatrix (const Matrix &B) const |
Matrix | multiply (const Matrix &B) const |
Matrix & | multiply (const Matrix &B, Matrix &C) const |
Vector | multiply (const Vector &v) const |
Vector & | multiply (const Vector &v, Vector &res) const |
Matrix | addition (const Matrix &B) const |
Matrix & | addition (const Matrix &B, Matrix &C) const |
Matrix | substraction (const Matrix &B) const |
Matrix & | substraction (const Matrix &B, Matrix &C) const |
Matrix | multiply (const FloatType x) const |
Matrix & | multiply (const FloatType x, Matrix &C) const |
Matrix | addition (const FloatType x) const |
Matrix & | addition (const FloatType x, Matrix &C) const |
Matrix | substraction (const FloatType x) const |
Matrix & | substraction (const FloatType x, Matrix &C) const |
Matrix | division (const FloatType x) const |
Matrix & | division (const FloatType x, Matrix &C) const |
Matrix & | operator+= (const Matrix &m1) |
Matrix & | operator-= (const Matrix &m1) |
Matrix & | operator*= (const Matrix &m1) |
Matrix & | operator*= (const FloatType x) |
const FloatType & | operator() (const int i, const int j) const |
FloatType & | operator() (const int i, const int j) |
const FloatType & | operator() (const int n) const |
FloatType & | operator() (const int n) |
Matrix & | operator= (const Matrix &m1) |
bool | autoresize (void) |
Protected Member Functions | |
bool | reviseMemory (void) const |
void | initSvdMemory (void) const |
Protected Attributes | |
size_t | nbrows |
size_t | nbcols |
size_t | nmajor |
size_t | nminor |
bool | toTranspose |
mutable ::boost::numeric::ublas::matrix< FloatType,::boost::numeric::ublas::column_major > | McolMajor |
mutable ::boost::numeric::ublas::matrix< FloatType,::boost::numeric::ublas::column_major > | U |
mutable ::boost::numeric::ublas::matrix< FloatType,::boost::numeric::ublas::column_major > | VT |
mutable ::boost::numeric::ublas::vector< FloatType > | s |
mutable ::boost::numeric::ublas::vector< double > | w |
mutable ::boost::numeric::ublas::vector< FloatType > | sp |
int | lw |
int | lda |
int | lu |
int | lvt |
unsigned int | rankJ |
Additional Inherited Members | |
![]() | |
typedef ::boost::numeric::ublas::matrix< FloatType > | InternalMatrix |
![]() | |
InternalMatrix | staticMatrix |
InternalMatrix * | dynamicMatrix |
InternalMatrix & | matrix |
bool | proprio |
![]() | |
static const bool | AUTORESIZE = true |
static const bool | CHECKRESIZE = true |
![]() | |
static void | _resize (InternalMatrix &mat1, const InternalMatrix &mat2) |
static bool | _checksize (const InternalMatrix &mat1, const InternalMatrix &mat2) |
static bool | _checksizeVerb (const InternalMatrix &mat1, const InternalMatrix &mat2) |
static bool | _checksize (const InternalMatrix &mat1, const unsigned int s1, const unsigned int s2) |
static bool | _checksizeVerb (const InternalMatrix &mat1, const unsigned int s1, const unsigned int s2) |
static bool | _checksizeProd (const InternalMatrix &mat1, const InternalMatrix &mat2) |
static bool | _checksizeProdVerb (const InternalMatrix &mat1, const InternalMatrix &mat2) |
static void | _resizeProd (InternalMatrix &res, const InternalMatrix &mat1, const InternalMatrix &mat2) |
static bool | _checksizeProd (const InternalMatrix &mat1, const Vector::InternalVector &vct) |
static bool | _checksizeProdVerb (const InternalMatrix &mat1, const Vector::InternalVector &vct) |
static void | _resizeProd (Vector::InternalVector &res, const InternalMatrix &mat1) |
static void | _resizeInv (InternalMatrix &res, const InternalMatrix &mat2) |
static bool | _checksizeSquare (const InternalMatrix &mat1) |
static bool | _checksizeSquareVerb (const InternalMatrix &mat1) |
|
inline |
|
inline |
|
inline |
|
inline |
Compute the pseudo-inverse of the matrix.
By default, the function uses the dgesvd_ fortran routine. It should be provided by the host software.
|
inline |
|
inlinevirtual |
Compute the pseudo-inverse of the matrix.
By default, the function uses the dgesvd_ fortran routine. It should be provided by the host software.
Reimplemented from maal::boost::Matrix.
References maal::boost::Matrix::_resizeInv(), dgesvd_(), initSvdMemory(), lda, lu, lvt, lw, maal::boost::Matrix::matrix, McolMajor, MRAWDATA, nbcols, nbrows, nminor, rankJ, s, sp, toTranspose, U, VRAWDATA, VT, and w.
|
inlineprotected |
References dgesvd_(), lda, lw, maal::boost::Matrix::matrix, McolMajor, MRAWDATA, nbcols, nbrows, nmajor, nminor, reviseMemory(), s, sp, toTranspose, U, VT, and w.
Referenced by dampedInverse(), and pseudoInverse().
|
inline |
Compute the pseudo-inverse of the matrix.
By default, the function uses the dgesvd_ fortran routine. It should be provided by the host software.
|
inline |
|
inlinevirtual |
Compute the pseudo-inverse of the matrix.
By default, the function uses the dgesvd_ fortran routine. It should be provided by the host software.
Reimplemented from maal::boost::Matrix.
References maal::boost::Matrix::_resizeInv(), dgesvd_(), initSvdMemory(), lda, lu, lvt, lw, maal::boost::Matrix::matrix, McolMajor, MRAWDATA, nbcols, nbrows, nminor, rankJ, s, sp, toTranspose, U, VRAWDATA, VT, and w.
|
inlineprotected |
References maal::boost::Matrix::matrix, nbcols, nbrows, and toTranspose.
Referenced by initSvdMemory().
|
mutableprotected |
Referenced by dampedInverse(), initSvdMemory(), and pseudoInverse().
|
mutableprotected |
Referenced by dampedInverse(), and pseudoInverse().
|
mutableprotected |
Referenced by dampedInverse(), and pseudoInverse().
|
mutableprotected |
Referenced by dampedInverse(), initSvdMemory(), and pseudoInverse().
|
protected |
Referenced by dampedInverse(), initSvdMemory(), and pseudoInverse().
|
mutableprotected |
Referenced by dampedInverse(), initSvdMemory(), pseudoInverse(), and reviseMemory().
|
mutableprotected |
Referenced by dampedInverse(), initSvdMemory(), pseudoInverse(), and reviseMemory().
|
mutableprotected |
Referenced by initSvdMemory().
|
mutableprotected |
Referenced by dampedInverse(), initSvdMemory(), and pseudoInverse().
|
mutableprotected |
Referenced by dampedInverse(), and pseudoInverse().
|
protected |
Referenced by dampedInverse(), initSvdMemory(), and pseudoInverse().
|
protected |
Referenced by dampedInverse(), initSvdMemory(), and pseudoInverse().
|
mutableprotected |
Referenced by dampedInverse(), initSvdMemory(), pseudoInverse(), and reviseMemory().
|
protected |
Referenced by dampedInverse(), initSvdMemory(), and pseudoInverse().
|
protected |
Referenced by dampedInverse(), initSvdMemory(), and pseudoInverse().
|
protected |
Referenced by dampedInverse(), initSvdMemory(), and pseudoInverse().