cisst-saw
|
#include <nmrPInverse.h>
Classes | |
class | Friend |
Public Types | |
enum | { MIN_MN = (_rows < _cols) ? _rows : _cols } |
enum | { LWORK_1 = (3 * MIN_MN + (_rows > _cols)) ? _rows : _cols } |
enum | { LWORK_2 = 5 * MIN_MN } |
enum | { LWORK_3 } |
enum | { LWORK = _rows * _rows + _cols * _cols + static_cast<size_type>(MIN_MN) + static_cast<size_type>(LWORK_3) + _rows * _cols } |
typedef vct::size_type | size_type |
typedef vctFixedSizeMatrix < CISSTNETLIB_DOUBLE, _rows, _cols, _storageOrder > | MatrixTypeA |
typedef vctFixedSizeMatrix < CISSTNETLIB_DOUBLE, _cols, _rows, _storageOrder > | MatrixTypePInverse |
typedef vctFixedSizeVector < CISSTNETLIB_DOUBLE, LWORK > | VectorTypeWorkspace |
typedef vctFixedSizeMatrixRef < CISSTNETLIB_DOUBLE, _rows, _rows, _storageOrder?_rows:1, _storageOrder?1:_rows > | MatrixTypeU |
typedef vctFixedSizeMatrixRef < CISSTNETLIB_DOUBLE, _cols, _cols, _storageOrder?_cols:1, _storageOrder?1:_cols > | MatrixTypeVt |
typedef vctFixedSizeVectorRef < CISSTNETLIB_DOUBLE, MIN_MN, 1 > | VectorTypeS |
typedef vctFixedSizeVectorRef < CISSTNETLIB_DOUBLE, LWORK_3, 1 > | VectorTypeSVDWorkspace |
typedef vctFixedSizeMatrixRef < CISSTNETLIB_DOUBLE, _cols, _rows, _storageOrder?_cols:1, _storageOrder?1:_rows > | MatrixTypeP |
Public Member Functions | |
Retrieving results | |
In order to get access to U, V^t and S, after the have been computed by calling nmrPInverse function, use the following methods. | |
const MatrixTypePInverse & | PInverse (void) const |
const VectorTypeS & | S (void) const |
const MatrixTypeU & | U (void) const |
const MatrixTypeVt & | Vt (void) const |
const MatrixTypeP & | P (void) const |
class | Friend |
nmrPInverseFixedSizeData () | |
This provides the data class for fixed size matrices and provides a easy to use template. That is nmrPInverseFixedSizeData<4, 3, VCT_COL_MAJOR> vs. nmrPInverseDataBase<vctFixedSizeMatrix<4, 3, VCT_COL_MAJOR> No extra workspace of allocation etc is required for fixed size.
typedef vctFixedSizeMatrix<CISSTNETLIB_DOUBLE, _rows, _cols, _storageOrder> nmrPInverseFixedSizeData< _rows, _cols, _storageOrder >::MatrixTypeA |
Type of the input matrix
typedef vctFixedSizeMatrixRef<CISSTNETLIB_DOUBLE, _cols, _rows, _storageOrder? _cols : 1, _storageOrder ? 1 : _rows> nmrPInverseFixedSizeData< _rows, _cols, _storageOrder >::MatrixTypeP |
typedef vctFixedSizeMatrix<CISSTNETLIB_DOUBLE, _cols, _rows, _storageOrder> nmrPInverseFixedSizeData< _rows, _cols, _storageOrder >::MatrixTypePInverse |
Type of the pseudo inverse matrix
typedef vctFixedSizeMatrixRef<CISSTNETLIB_DOUBLE, _rows, _rows, _storageOrder ? _rows : 1, _storageOrder ? 1 : _rows> nmrPInverseFixedSizeData< _rows, _cols, _storageOrder >::MatrixTypeU |
Type used for the U matrix of the SVD
typedef vctFixedSizeMatrixRef<CISSTNETLIB_DOUBLE, _cols, _cols, _storageOrder ? _cols : 1, _storageOrder ? 1 : _cols> nmrPInverseFixedSizeData< _rows, _cols, _storageOrder >::MatrixTypeVt |
Type used for the Vt matrix of the SVD
typedef vct::size_type nmrPInverseFixedSizeData< _rows, _cols, _storageOrder >::size_type |
typedef vctFixedSizeVectorRef<CISSTNETLIB_DOUBLE, MIN_MN, 1> nmrPInverseFixedSizeData< _rows, _cols, _storageOrder >::VectorTypeS |
Type used for the S vector of the SVD
typedef vctFixedSizeVectorRef<CISSTNETLIB_DOUBLE, LWORK_3, 1> nmrPInverseFixedSizeData< _rows, _cols, _storageOrder >::VectorTypeSVDWorkspace |
Type used for the workspace of SVD
typedef vctFixedSizeVector<CISSTNETLIB_DOUBLE, LWORK> nmrPInverseFixedSizeData< _rows, _cols, _storageOrder >::VectorTypeWorkspace |
Type used for the workspace
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
|
inline |
Default constructor. This constructor sets all the references used to call the SVD routines using a contiguous block of memory (aka workspace). The memory is stack allocated but the references are computed at runtime.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |