#include <nmrLU.h>
Collaboration diagram for nmrLUFixedSizeData< _rows, _cols >:

This class is similar to nmrLUDynamicData except that it is dedicated to fixed size containers. While nmrLUDynamicData is designed to be modified dynamically, nmrLUFixedSizeData is fully defined at compilation time using template parameters. The required parameters are the dimensions of the input matrix:
nmrLUFixedSizeData<4, 3> data;
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 nmrLUDynamicData with vctDynamicMatrixRef and vctDynamicVectorRef (these dynamic references can actually be used to overlay a fixed size container).
Definition at line 471 of file nmrLU.h.
| typedef vctFixedSizeMatrix<CISSTNETLIB_DOUBLE, _rows, _cols, VCT_COL_MAJOR> nmrLUFixedSizeData< _rows, _cols >::MatrixTypeA |
| typedef vctFixedSizeVector<CISSTNETLIB_INTEGER, MIN_MN> nmrLUFixedSizeData< _rows, _cols >::VectorTypePivotIndices |
| typedef vctFixedSizeMatrix<CISSTNETLIB_DOUBLE, _rows, _rows, VCT_COL_MAJOR> nmrLUFixedSizeData< _rows, _cols >::MatrixTypeP |
| typedef vctFixedSizeMatrix<CISSTNETLIB_DOUBLE, _rows, MIN_MN, VCT_COL_MAJOR> nmrLUFixedSizeData< _rows, _cols >::MatrixTypeL |
| typedef vctFixedSizeMatrix<CISSTNETLIB_DOUBLE, MIN_MN, _cols, VCT_COL_MAJOR> nmrLUFixedSizeData< _rows, _cols >::MatrixTypeU |
| nmrLUFixedSizeData< _rows, _cols >::nmrLUFixedSizeData | ( | ) | [inline] |
| const VectorTypePivotIndices& nmrLUFixedSizeData< _rows, _cols >::PivotIndices | ( | void | ) | const [inline] |
Const reference to the result vector PivotIndices. This method must be called after the data has been computed by the nmrLU function.
Definition at line 525 of file nmrLU.h.
References nmrLUFixedSizeData< _rows, _cols >::PivotIndicesMember.
Referenced by nmrLU().
| static MatrixTypeP& nmrLUFixedSizeData< _rows, _cols >::UpdateMatrixP | ( | const VectorTypePivotIndices & | pivotIndices, | |
| MatrixTypeP & | P | |||
| ) | throw (std::runtime_error) [inline, static] |
Helper method to create a usable permutation matrix from the vector of pivot indices created by nmrLU.
| pivotIndices | The vector of pivot indices as computed by nmrLU | |
| P | The permutation matrix updated from the pivot indices. |
Definition at line 539 of file nmrLU.h.
References vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::SetAll().
| static void nmrLUFixedSizeData< _rows, _cols >::UpdateMatrixLU | ( | const MatrixTypeA & | A, | |
| MatrixTypeL & | L, | |||
| MatrixTypeU & | U | |||
| ) | throw (std::runtime_error) [inline, static] |
Helper method to create usable matrix L and U from the input matrix used and modified by nmrLU. The output of nmrLU is a single matrix which contains both L and U. This method splits the output of nmrLU and creates to matrices by copying the lower and upper parts respectively in L and U, setting all other elements to zero. The diagonal of the output is copied to U while all the elements of the diagonal of L are set to 1.
| A | The matrix decomposed using nmrLU. | |
| L | The lower matrix | |
| U | The upper matrix |
VectorTypePivotIndices nmrLUFixedSizeData< _rows, _cols >::PivotIndicesMember [protected] |
Data member used to store the output vector PivotIndices.
Definition at line 495 of file nmrLU.h.
Referenced by nmrLUFixedSizeData< _rows, _cols >::PivotIndices().