ERC CISST - cisst software

nmrSVDFixedSizeData< _rows, _cols, _storageOrder > Class Template Reference
[Numerical Methods]

#include <nmrSVD.h>

Collaboration diagram for nmrSVDFixedSizeData< _rows, _cols, _storageOrder >:

Collaboration graph
[legend]
List of all members.

Detailed Description

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:

  nmrSVDFixedSizeData<4, 3, VCT_COL_MAJOR> data;

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).

Definition at line 694 of file nmrSVD.h.

Public Types

Public Member Functions

Static Public Member Functions

Protected Attributes


Member Typedef Documentation

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
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).

Definition at line 709 of file nmrSVD.h.

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
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).

Definition at line 712 of file nmrSVD.h.

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
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).

Definition at line 715 of file nmrSVD.h.

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
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).

Definition at line 718 of file nmrSVD.h.

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
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).

Definition at line 721 of file nmrSVD.h.

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
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).

Definition at line 724 of file nmrSVD.h.


Constructor & Destructor Documentation

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::nmrSVDFixedSizeData (  )  [inline]

Default constructor. Does nothing since the allocation is performed on the stack.

Definition at line 764 of file nmrSVD.h.


Member Function Documentation

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
const VectorTypeS& nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::S ( void   )  const [inline]

Const reference to the result vector S. This method must be called after the data has been computed by the nmrSVD function.

Definition at line 769 of file nmrSVD.h.

References nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::SMember.

Referenced by nmrSVD().

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
const MatrixTypeU& nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::U ( void   )  const [inline]

Const reference to the result matrix U. This method must be called after the data has been computed by the nmrSVD function.

Definition at line 775 of file nmrSVD.h.

References nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::UMember.

Referenced by nmrSVD().

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
const MatrixTypeVt& nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::Vt ( void   )  const [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.

Definition at line 781 of file nmrSVD.h.

References nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::VtMember.

Referenced by nmrSVD().

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
static MatrixTypeS& nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::UpdateMatrixS ( const VectorTypeS vectorS,
MatrixTypeS matrixS 
) [inline, static]

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).

Definition at line 788 of file nmrSVD.h.

References vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::Diagonal(), and vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::SetAll().


Member Data Documentation

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
MatrixTypeU nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::UMember [protected]

Data member used to store the output matrix U.

Definition at line 727 of file nmrSVD.h.

Referenced by nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::U().

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
MatrixTypeVt nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::VtMember [protected]

Data member used to store the output matrix Vt.

Definition at line 728 of file nmrSVD.h.

Referenced by nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::Vt().

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
VectorTypeS nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::SMember [protected]

Data member used to store the output vector S.

Definition at line 729 of file nmrSVD.h.

Referenced by nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::S().

template<vct::size_type _rows, vct::size_type _cols, bool _storageOrder = VCT_ROW_MAJOR>
VectorTypeWorkspace nmrSVDFixedSizeData< _rows, _cols, _storageOrder >::WorkspaceMember [protected]

Data member used to store the workspace vector.

Definition at line 730 of file nmrSVD.h.


The documentation for this class was generated from the following file:
erc-cisst-devel<at>lists.johnshopkins.edu