Data of SVD problem (Fixed size).
More...
#include <nmrSVD.h>
|
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 |
|
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
class nmrSVDFixedSizeData< _rows, _cols, _storageOrder >
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:
- Note
- An object of type nmrSVDFixedSizeData contains the memory required for the output and the workspace, i.e. its actual size will be equal to the memory required to store the matrices U and Vt as the vectors S and workspace.
-
There is no dynamic memory allocation (no
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).
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Type of the input matrix A (size and storage order computed from the data template parameters).
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Type of matrix to be filled from vector S (size and storage order computed from the data template parameters).
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Type of the output matrix U (size and storage order computed from the data template parameters).
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Type of the output matrix Vt (size and storage order computed from the data template parameters).
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Type of the output vector S (size and storage order computed from the data template parameters).
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Type of the workspace vector (size and storage order computed from the data template parameters).
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Default constructor. Does nothing since the allocation is performed on the stack.
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Const reference to the result vector S. This method must be called after the data has been computed by the nmrSVD function.
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Const reference to the result matrix U. This method must be called after the data has been computed by the nmrSVD function.
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
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).
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Const reference to the result matrix Vt (V transposed). This method must be called after the data has been computed by the nmrSVD function.
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Data member used to store the output vector S.
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Data member used to store the output matrix U.
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Data member used to store the output matrix Vt.
template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
Data member used to store the workspace vector.
The documentation for this class was generated from the following file:
- /home/adeguet1/catkin_ws/src/cisst-saw/cisst/cisstNumerical/nmrSVD.h