|
cisst-saw
|
Data of SVD problem (Fixed size). More...
#include <nmrSVD.h>
Classes | |
| class | Friend |
Public Types | |
| enum | { M = (_storageOrder == VCT_COL_MAJOR) ? _rows : _cols } |
| enum | { N = (_storageOrder == VCT_COL_MAJOR) ? _cols : _rows } |
| enum | { MIN_MN } |
| enum | { LWORK_1 } |
| enum | { LWORK_2 = 5 * MIN_MN } |
| enum | { LWORK } |
| typedef vct::size_type | size_type |
| typedef vctFixedSizeMatrix< CISSTNETLIB_DOUBLE, _rows, _cols, _storageOrder > | MatrixTypeA |
| typedef vctFixedSizeMatrix< CISSTNETLIB_DOUBLE, _rows, _rows, _storageOrder > | MatrixTypeU |
| typedef vctFixedSizeVector< CISSTNETLIB_DOUBLE, MIN_MN > | VectorTypeS |
| typedef vctFixedSizeMatrix< CISSTNETLIB_DOUBLE, _rows, _cols, _storageOrder > | MatrixTypeS |
| typedef vctFixedSizeMatrix< CISSTNETLIB_DOUBLE, _cols, _cols, _storageOrder > | MatrixTypeVt |
| typedef vctFixedSizeVector< CISSTNETLIB_DOUBLE, LWORK > | VectorTypeWorkspace |
Public Member Functions | |
| nmrSVDFixedSizeData () | |
| const VectorTypeS & | S (void) const |
| const MatrixTypeU & | U (void) const |
| const MatrixTypeVt & | Vt (void) const |
Static Public Member Functions | |
| static MatrixTypeS & | UpdateMatrixS (const VectorTypeS &vectorS, MatrixTypeS &matrixS) |
Protected Attributes | |
| MatrixTypeU | UMember |
| MatrixTypeVt | VtMember |
| VectorTypeS | SMember |
| VectorTypeWorkspace | WorkspaceMember |
Friends | |
| class | Friend |
Data of SVD problem (Fixed size).
This class is similar to nmrSVDDynamicData except that it is dedicated to fixed size containers. While nmrSVDDynamicData is designed to be modified dynamically, nmrSVDFixedSizeData is fully defined at compilation time using template parameters. The required parameters are the dimension of the input matrix and its storage order:
new) and the memory can not be used by reference. To use memory by reference, one must use nmrSVDDynamicData with vctDynamicMatrixRef and vctDynamicVectorRef (these dynamic references can actually be used to overlay a fixed size container). | typedef vctFixedSizeMatrix<CISSTNETLIB_DOUBLE, _rows, _cols, _storageOrder> nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::MatrixTypeA |
Type of the input matrix A (size and storage order computed from the data template parameters).
| typedef vctFixedSizeMatrix<CISSTNETLIB_DOUBLE, _rows, _cols, _storageOrder> nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::MatrixTypeS |
Type of matrix to be filled from vector S (size and storage order computed from the data template parameters).
| typedef vctFixedSizeMatrix<CISSTNETLIB_DOUBLE, _rows, _rows, _storageOrder> nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::MatrixTypeU |
Type of the output matrix U (size and storage order computed from the data template parameters).
| typedef vctFixedSizeMatrix<CISSTNETLIB_DOUBLE, _cols, _cols, _storageOrder> nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::MatrixTypeVt |
Type of the output matrix Vt (size and storage order computed from the data template parameters).
| typedef vct::size_type nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::size_type |
| typedef vctFixedSizeVector<CISSTNETLIB_DOUBLE, MIN_MN> nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::VectorTypeS |
Type of the output vector S (size and storage order computed from the data template parameters).
| typedef vctFixedSizeVector<CISSTNETLIB_DOUBLE, LWORK> nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::VectorTypeWorkspace |
Type of the workspace vector (size and storage order computed from the data template parameters).
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
|
inline |
Default constructor. Does nothing since the allocation is performed on the stack.
|
inline |
Const reference to the result vector S. This method must be called after the data has been computed by the nmrSVD function.
|
inline |
Const reference to the result matrix U. This method must be called after the data has been computed by the nmrSVD function.
|
inlinestatic |
Fill a matrix from the singular values. Sets all the elements to zero and then replace the diagonal by the singular values (provided by vectorS).
|
inline |
Const reference to the result matrix Vt (V transposed). This method must be called after the data has been computed by the nmrSVD function.
|
friend |
|
protected |
Data member used to store the output vector S.
|
protected |
Data member used to store the output matrix U.
|
protected |
Data member used to store the output matrix Vt.
|
protected |
Data member used to store the workspace vector.