maal::boost::MatrixSvd Class Reference

#include <jrl/mal/boostmatrixsvd.hh>

Inheritance diagram for maal::boost::MatrixSvd:
maal::boost::Matrix

List of all members.

Public Member Functions

 MatrixSvd (const unsigned int rows=0, const unsigned int cols=0)
 MatrixSvd (InternalMatrix *clone, const bool=false)
 MatrixSvd (const MatrixSvd &copy)
virtual MatrixpseudoInverse (Matrix &invMatrix, const FloatType threshold=1e-6, Matrix *Uref=NULL, Vector *Sref=NULL, Matrix *Vref=NULL) const
 Compute the pseudo-inverse of the matrix.
virtual MatrixdampedInverse (Matrix &invMatrix, const FloatType threshold=1e-6, Matrix *Uref=NULL, Vector *Sref=NULL, Matrix *Vref=NULL) const
 Compute the pseudo-inverse of the matrix.

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

Constructor & Destructor Documentation

maal::boost::MatrixSvd::MatrixSvd ( const unsigned int  rows = 0,
const unsigned int  cols = 0 
) [inline]
maal::boost::MatrixSvd::MatrixSvd ( InternalMatrix clone,
const bool  = false 
) [inline]
maal::boost::MatrixSvd::MatrixSvd ( const MatrixSvd copy) [inline]

Member Function Documentation

virtual Matrix& maal::boost::MatrixSvd::dampedInverse ( Matrix invMatrix,
const FloatType  threshold = 1e-6,
Matrix Uref = NULL,
Vector Sref = NULL,
Matrix Vref = NULL 
) const [inline, virtual]

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, maal::boost::Matrix::max(), McolMajor, MRAWDATA, nbcols, nbrows, nminor, rankJ, s, sp, toTranspose, U, VRAWDATA, VT, and w.

virtual Matrix& maal::boost::MatrixSvd::pseudoInverse ( Matrix invMatrix,
const FloatType  threshold = 1e-6,
Matrix Uref = NULL,
Vector Sref = NULL,
Matrix Vref = NULL 
) const [inline, virtual]

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, maal::boost::Matrix::max(), McolMajor, MRAWDATA, nbcols, nbrows, nminor, rankJ, s, sp, toTranspose, U, VRAWDATA, VT, and w.

bool maal::boost::MatrixSvd::reviseMemory ( void  ) const [inline, protected]

Member Data Documentation

int maal::boost::MatrixSvd::lda [mutable, protected]
int maal::boost::MatrixSvd::lu [mutable, protected]

Referenced by dampedInverse(), and pseudoInverse().

int maal::boost::MatrixSvd::lvt [mutable, protected]

Referenced by dampedInverse(), and pseudoInverse().

int maal::boost::MatrixSvd::lw [mutable, protected]
mutable ::boost::numeric::ublas::matrix<FloatType,::boost::numeric::ublas::column_major> maal::boost::MatrixSvd::McolMajor [protected]
size_t maal::boost::MatrixSvd::nmajor [mutable, protected]

Referenced by initSvdMemory().

size_t maal::boost::MatrixSvd::nminor [mutable, protected]
unsigned int maal::boost::MatrixSvd::rankJ [mutable, protected]

Referenced by dampedInverse(), and pseudoInverse().

mutable ::boost::numeric::ublas::vector<FloatType> maal::boost::MatrixSvd::s [protected]
mutable ::boost::numeric::ublas::vector<FloatType> maal::boost::MatrixSvd::sp [protected]
mutable ::boost::numeric::ublas::matrix<FloatType,::boost::numeric::ublas::column_major> maal::boost::MatrixSvd::U [protected]
mutable ::boost::numeric::ublas::matrix<FloatType,::boost::numeric::ublas::column_major> maal::boost::MatrixSvd::VT [protected]
mutable ::boost::numeric::ublas::vector<double> maal::boost::MatrixSvd::w [protected]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines