ERC CISST - cisst software

nmrLSqLinSolutionDynamic Class Reference
[Numerical Methods]

#include <nmrLSqLin.h>

Collaboration diagram for nmrLSqLinSolutionDynamic:

Collaboration graph
[legend]
List of all members.

Detailed Description

This is the class for the composite solution container of LSqLin.

Definition at line 115 of file nmrLSqLin.h.

Public Member Functions

Static Public Member Functions

Protected Member Functions

Protected Attributes

Friends

Classes


Constructor & Destructor Documentation

nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic (  )  [inline]

The default constuctor. For dynamic size, there are assigned default values, which MUST be changed by calling appropriate methods. (See nmrLSqLinSolutionDynamic::Allocate and nmrLSqLinSolutionDynamic::SetRef)

Definition at line 384 of file nmrLSqLin.h.

nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  n 
) [inline]

contructor to use with LS

Definition at line 391 of file nmrLSqLin.h.

References Allocate().

nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n 
) [inline]

contructor to use with LSI

Definition at line 396 of file nmrLSqLin.h.

References Allocate().

nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n 
) [inline]

contructor to use with LSEI

Definition at line 401 of file nmrLSqLin.h.

References Allocate().

template<typename _matrixOwnerTypeA>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A  )  [inline]

Constructor where user provides the input matrix to specify size, Memory allocation is done for output matrices and vectors as well as Workspace used by LAPACK. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections.

Parameters:
A input matrix

Definition at line 418 of file nmrLSqLin.h.

References A, Allocate(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _matrixOwnerTypeA, typename _vectorOwnerTypeWork>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork 
) [inline]

Constructor where user provides the input matrix to specify size, Memory allocation is done for output vectors. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using more than one numerical method in the *same* thread, allowing her to share the workspace for LAPACK.

Parameters:
A input matrix inWork workspace for LS

Definition at line 432 of file nmrLSqLin.h.

References A, Allocate(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _vectorOwnerTypeX, typename _vectorOwnerTypeWork>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  n,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork 
) [inline]

Constructor where user provides the size and storage order of the input matrix, along with workspace. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LSqLin algorithm. Checks are made on the validity of the input and its consitency with the size of input matrix.

Parameters:
ma,n The size of input matrix
storageOrder The storage order of input matrix
inX The output vector for LSqLin
inWork The workspace for LAPACK.

Definition at line 448 of file nmrLSqLin.h.

References SetRef().

template<typename _vectorOwnerTypeX>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  n,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX 
) [inline]

Constructor where user provides the size and storage order of the input matrix, along with vector X. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LS algorithm. Checks are made on thec validity of the input and its consitency with the size of input matrix. Memory allocation for workspace is done by the method. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using the LS matrix elsewhere in the *same* thread.

Parameters:
ma,n The size of input matrix
inX The output vector for LSqLin

Definition at line 467 of file nmrLSqLin.h.

References SetRef().

template<typename _matrixOwnerTypeA, typename _vectorOwnerTypeX, typename _vectorOwnerTypeWork>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork 
) [inline]

Constructor where user provides the input matrix to specify size, along with vector X. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LS algorithm. Checks are made on the validity of the input and its consitency with the size of input matrix.

Parameters:
inA The input matrix
inX The output vector for LSqLin
inWork The workspace for LAPACK.

Definition at line 482 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows(), and SetRef().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeG>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  G 
) [inline]

Constructor where user provides the input matrices to specify size, Memory allocation is done for output matrices and vectors as well as Workspace used by LAPACK. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections.

Parameters:
A,G input matrices

Definition at line 501 of file nmrLSqLin.h.

References A, Allocate(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), G, and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeG, typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  G,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeIWork, CISSTNETLIB_INTEGER > &  inIWork 
) [inline]

Constructor where user provides the input matrices to specify size, Memory allocation is done for output vectors. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using more than one numerical method in the *same* thread, allowing her to share the workspace for LAPACK.

Parameters:
A,G input matrices inWork, inIWork workspace for LSI

Definition at line 517 of file nmrLSqLin.h.

References A, Allocate(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), G, and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _vectorOwnerTypeX, typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeIWork, CISSTNETLIB_INTEGER > &  inIWork 
) [inline]

Constructor where user provides the size and storage order of the input matrices along with workspace. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LSqLin algorithm. Checks are made on the validity of the input and its consitency with the size of input matrices.

Parameters:
ma,mg,n The size of input matrices
inX The output vector for LSqLin inWork, inIWork workspace for LSI

Definition at line 534 of file nmrLSqLin.h.

References SetRef().

template<typename _vectorOwnerTypeX>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX 
) [inline]

Constructor where user provides the size and storage order of the input matrices, along with vector X. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LS algorithm. Checks are made on thec validity of the input and its consitency with the size of input matrices. Memory allocation for workspace is done by the method. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using the LSI matrix elsewhere in the *same* thread.

Parameters:
ma,mg,n The size of input matrices
inX The output vector for LSqLin

Definition at line 554 of file nmrLSqLin.h.

References SetRef().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeG, typename _vectorOwnerTypeX, typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  inG,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeIWork, CISSTNETLIB_INTEGER > &  inIWork 
) [inline]

Constructor where user provides the input matrices to specify size, along with vector X. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LS algorithm. Checks are made on the validity of the input and its consitency with the size of input matrix.

Parameters:
inA,inE The input matrices
inX The output vector for LSqLin inWork, inIWork workspace for LSI

Definition at line 571 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows(), and SetRef().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeE, typename _matrixOwnerTypeG>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A,
vctDynamicMatrixBase< _matrixOwnerTypeE, CISSTNETLIB_DOUBLE > &  E,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  G 
) [inline]

Constructor where user provides the input matrices to specify size, Memory allocation is done for output matrices and vectors as well as Workspace used by LAPACK. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections.

Parameters:
A,E,G input matrices

Definition at line 592 of file nmrLSqLin.h.

References A, Allocate(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), E, G, and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeE, typename _matrixOwnerTypeG, typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A,
vctDynamicMatrixBase< _matrixOwnerTypeE, CISSTNETLIB_DOUBLE > &  E,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  G,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeIWork, CISSTNETLIB_INTEGER > &  inIWork 
) [inline]

Constructor where user provides the input matrices to specify size, Memory allocation is done for output vectors. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using more than one numerical method in the *same* thread, allowing her to share the workspace for LAPACK.

Parameters:
A,E,G input matrices inWork, inIWork workspace for LSI

Definition at line 610 of file nmrLSqLin.h.

References A, Allocate(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), E, G, and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _vectorOwnerTypeX, typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeIWork, CISSTNETLIB_INTEGER > &  inIWork 
) [inline]

Constructor where user provides the size and storage order of the input matrices along with workspace. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LSqLin algorithm. Checks are made on the validity of the input and its consitency with the size of input matrices.

Parameters:
ma,me,mg,n The size of input matrices
inX The output vector for LSqLin inWork, inIWork workspace for LSI

Definition at line 628 of file nmrLSqLin.h.

References SetRef().

template<typename _vectorOwnerTypeX>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX 
) [inline]

Constructor where user provides the size and storage order of the input matrices, along with vector X. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LS algorithm. Checks are made on thec validity of the input and its consitency with the size of input matrices. Memory allocation for workspace is done by the method. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using the LSI matrix elsewhere in the *same* thread.

Parameters:
ma,me,mg,n The size of input matrices
inX The output vector for LSqLin

Definition at line 648 of file nmrLSqLin.h.

References SetRef().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeE, typename _matrixOwnerTypeG, typename _vectorOwnerTypeX, typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
nmrLSqLinSolutionDynamic::nmrLSqLinSolutionDynamic ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicMatrixBase< _matrixOwnerTypeE, CISSTNETLIB_DOUBLE > &  inE,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  inG,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeIWork, CISSTNETLIB_INTEGER > &  inIWork 
) [inline]

Constructor where user provides the input matrices to specify size, along with vector X. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LS algorithm. Checks are made on the validity of the input and its consitency with the size of input matrix.

Parameters:
inA,inE,inG The input matrices
inX The output vector for LSqLin inWork, inIWork workspace for LSI

Definition at line 665 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows(), and SetRef().


Member Function Documentation

static CISSTNETLIB_INTEGER nmrLSqLinSolutionDynamic::GetWorkspaceSize ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n 
) [inline, static]

Helper methods for user to set min working space required by LAPACK LS routine.

Parameters:
ma,me,mg,n The size of matrix whose LS/LSI/LSEI needs to be computed

Definition at line 172 of file nmrLSqLin.h.

Referenced by Allocate(), AllocateWorkspace(), GetWorkspaceSize(), Malloc(), nmrLSqLin(), and SetRef().

template<typename _matrixOwnerTypeA>
static CISSTNETLIB_INTEGER nmrLSqLinSolutionDynamic::GetWorkspaceSize ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA  )  [inline, static]

Helper method to determine the min working space required by LAPACK LS routine.

Parameters:
inA The matrix whose LS needs to be computed

Definition at line 205 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), GetWorkspaceSize(), and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeG>
static CISSTNETLIB_INTEGER nmrLSqLinSolutionDynamic::GetWorkspaceSize ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  inG 
) [inline, static]

Helper method to determine the min working space required by LAPACK LSI routine.

Parameters:
inA,inG The input matrices for LSI.

Definition at line 214 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), GetWorkspaceSize(), and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeE, typename _matrixOwnerTypeG>
static CISSTNETLIB_INTEGER nmrLSqLinSolutionDynamic::GetWorkspaceSize ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicMatrixBase< _matrixOwnerTypeE, CISSTNETLIB_DOUBLE > &  inE,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  inG 
) [inline, static]

Helper method to determine the min working space required by LAPACK LSEI routine.

Parameters:
inA,inE,inG The input matrices for LSEI.

Definition at line 230 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), GetWorkspaceSize(), and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

static void nmrLSqLinSolutionDynamic::AllocateWorkspace ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n,
vctDynamicVector< CISSTNETLIB_DOUBLE > &  inWork 
) [inline, static]

Helper methods for user to set min working space required by LAPACK LS/LSI/LSEI routine.

Parameters:
ma,me,mg,n The size of matrix whose LS/LSI/LSEI needs to be computed
inWork A vector that would be resized to meet the requirements of LAPACK LS/LSI/LSEI routine.

Definition at line 250 of file nmrLSqLin.h.

References GetWorkspaceSize(), and vctDynamicVector< _elementType >::SetSize().

template<typename _matrixOwnerTypeA>
static void nmrLSqLinSolutionDynamic::AllocateWorkspace ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicVector< CISSTNETLIB_DOUBLE > &  inWork 
) [inline, static]

Helper methods for user to set min working space required by LAPACK LS routine.

Parameters:
inA The matrix whose LS needs to be computed
inWork A vector that would be resized to meet the requirements of LAPACK LS routine.

Definition at line 265 of file nmrLSqLin.h.

References GetWorkspaceSize(), and vctDynamicVector< _elementType >::SetSize().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeG>
static void nmrLSqLinSolutionDynamic::AllocateWorkspace ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  inG,
vctDynamicVector< CISSTNETLIB_DOUBLE > &  inWork 
) [inline, static]

Helper methods for user to set min working space required by LAPACK LSI routine.

Parameters:
inA,inG The input matrices for LSI.
inWork A vector that would be resized to meet the requirements of LAPACK LSI routine.

Definition at line 276 of file nmrLSqLin.h.

References GetWorkspaceSize(), and vctDynamicVector< _elementType >::SetSize().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeE, typename _matrixOwnerTypeG>
static void nmrLSqLinSolutionDynamic::AllocateWorkspace ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicMatrixBase< _matrixOwnerTypeE, CISSTNETLIB_DOUBLE > &  inE,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  inG,
vctDynamicVector< CISSTNETLIB_DOUBLE > &  inWork 
) [inline, static]

Helper methods for user to set min working space required by LAPACK LSEI routine.

Parameters:
inA,inE,inG The input matrices for LSEI.
inWork A vector that would be resized to meet the requirements of LAPACK LSEI routine.

Definition at line 296 of file nmrLSqLin.h.

References GetWorkspaceSize(), and vctDynamicVector< _elementType >::SetSize().

template<typename _matrixOwnerTypeA>
void nmrLSqLinSolutionDynamic::Allocate ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A  )  [inline]

This method allocates memory of output vector as well as the workspace. This method should be called before the nmrLSqLinSolutionDynamic object is passed on to nmrLSqLin function, as the memory required for output matrices and workspace are allocated here or to reallocate memory previously allocated by constructor. Typically this method is called from a code segment where it is safe to allocate memory and use the solution and work space later.

Parameters:
A The matrix for which LS needs to be computed, size MxN

Definition at line 691 of file nmrLSqLin.h.

References A, vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

Referenced by Allocate(), and nmrLSqLinSolutionDynamic().

template<typename _matrixOwnerTypeA, typename _vectorOwnerTypeWork>
void nmrLSqLinSolutionDynamic::Allocate ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork 
) [inline]

This method allocates memory of output vector and uses the memory provided by user for workspace. Check is made to ensure that memory provided by user is sufficient for LS routine of LAPACK. This method should be called before the nmrLSqLinSolutionDynamic object is passed on to nmrLSqLin function, as the memory required for output matrices and workspace are allocated here or to reallocate memory previously allocated by constructor. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using more than one numerical method in the *same* thread, allowing her to share the workspace for LAPACK. Typically this method is called from a code segment where it is safe to allocate memory and use the solution and work space later.

Parameters:
A The matrix for which LS needs to be computed, size MxN
inWork The vector used for workspace by LS.

Definition at line 714 of file nmrLSqLin.h.

References A, Allocate(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _matrixOwnerTypeA, typename _vectorOwnerTypeX, typename _vectorOwnerTypeWork>
void nmrLSqLinSolutionDynamic::SetRef ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork 
) [inline]

This method must be called before the solution object is passed to nmrLSqLin function. The user provides the input matrix to specify size, along with vector X and workspace. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LSqLin algorithm. Checks are made on the validity of the input and its consitency with the size of input matrix.

Parameters:
inA The input matrix
inX The output vector for LSqLin
inWork The workspace for LS.

Definition at line 736 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

Referenced by Allocate(), Malloc(), nmrLSqLinSolutionDynamic(), and SetRef().

template<typename _matrixOwnerTypeA, typename _vectorOwnerTypeX>
void nmrLSqLinSolutionDynamic::SetRef ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX 
) [inline]

This method must be called before the solution object is passed to nmrLSqLin function. The user provides the input matrix to specify size, along with vector X. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LSqLin algorithm. Checks are made on thec validity of the input and its consitency with the size of input matrix. Memory allocation for workspace is done by the method. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using the LS matrix elsewhere in the *same* thread.

Parameters:
inA The input matrix
inX The output matrix for LSqLin

Definition at line 757 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows(), SetRef(), and WorkspaceMemory.

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeG>
void nmrLSqLinSolutionDynamic::Allocate ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  G 
) [inline]

This method allocates memory of output vector as well as the workspace. This method should be called before the nmrLSqLinSolutionDynamic object is passed on to nmrLSqLin function, as the memory required for output matrices and workspace are allocated here or to reallocate memory previously allocated by constructor. Typically this method is called from a code segment where it is safe to allocate memory and use the solution and work space later.

Parameters:
A The matrix for which LSI needs to be computed, size Ma x N
G The contraints matrix for LSI, size Mg x N

Definition at line 780 of file nmrLSqLin.h.

References A, Allocate(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), G, and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeG, typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
void nmrLSqLinSolutionDynamic::Allocate ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  G,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inIWork 
) [inline]

This method allocates memory of output vector and uses the memory provided by user for workspace. Check is made to ensure that memory provided by user is sufficient for LS routine of LAPACK. This method should be called before the nmrLSqLinSolutionDynamic object is passed on to nmrLSqLin function, as the memory required for output matrices and workspace are allocated here or to reallocate memory previously allocated by constructor. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using more than one numerical method in the *same* thread, allowing her to share the workspace for LAPACK. Typically this method is called from a code segment where it is safe to allocate memory and use the solution and work space later.

Parameters:
A The matrix for which LSI needs to be computed, size Ma x N
G The contraints matrix for LSI, size Mg x N
inWork,inIWork The workspace for LS.

Definition at line 806 of file nmrLSqLin.h.

References A, Allocate(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), G, and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeG, typename _vectorOwnerTypeX, typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
void nmrLSqLinSolutionDynamic::SetRef ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  inG,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inIWork 
) [inline]

This method must be called before the solution object is passed to nmrLSqLin function. The user provides the input matrices to specify size, along with vector X and workspace. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LSqLin algorithm. Checks are made on the validity of the input and its consitency with the size of input matrices.

Parameters:
inA,inG The input matrices
inX The output vector for LSqLin
inWork,inIWork The workspace for LSI.

Definition at line 832 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows(), and SetRef().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeG, typename _vectorOwnerTypeX>
void nmrLSqLinSolutionDynamic::SetRef ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  inG,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX 
) [inline]

This method must be called before the solution object is passed to nmrLSqLin function. The user provides the input matrices to specify size, along with vector X. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LSqLin algorithm. Checks are made on thec validity of the input and its consitency with the size of input matrices. Memory allocation for workspace is done by the method. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using the LS matrix elsewhere in the *same* thread.

Parameters:
inA,inG The input matrices
inX The output matrix for LSqLin

Definition at line 855 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows(), and SetRef().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeE, typename _matrixOwnerTypeG>
void nmrLSqLinSolutionDynamic::Allocate ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A,
vctDynamicMatrixBase< _matrixOwnerTypeE, CISSTNETLIB_DOUBLE > &  E,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  G 
) [inline]

This method allocates memory of output vector as well as the workspace. This method should be called before the nmrLSqLinSolutionDynamic object is passed on to nmrLSqLin function, as the memory required for output matrices and workspace are allocated here or to reallocate memory previously allocated by constructor. Typically this method is called from a code segment where it is safe to allocate memory and use the solution and work space later.

Parameters:
A The matrix for which LSEI needs to be computed, size MxN
E The equality constraints matrix for LSEI, size Me x N
G The contraints matrix for LSEI, size Mg x N

Definition at line 880 of file nmrLSqLin.h.

References A, Allocate(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), E, G, and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeE, typename _matrixOwnerTypeG, typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
void nmrLSqLinSolutionDynamic::Allocate ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  A,
vctDynamicMatrixBase< _matrixOwnerTypeE, CISSTNETLIB_DOUBLE > &  E,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  G,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeIWork, CISSTNETLIB_DOUBLE > &  inIWork 
) [inline]

This method allocates memory of output vector and uses the memory provided by user for workspace. Check is made to ensure that memory provided by user is sufficient for LS routine of LAPACK. This method should be called before the nmrLSqLinSolutionDynamic object is passed on to nmrLSqLin function, as the memory required for output matrices and workspace are allocated here or to reallocate memory previously allocated by constructor. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using more than one numerical method in the *same* thread, allowing her to share the workspace for LAPACK. Typically this method is called from a code segment where it is safe to allocate memory and use the solution and work space later.

Parameters:
A The matrix for which LS needs to be computed, size MxN
E The equality constraints matrix for LSEI, size Me x N
G The contraints matrix for LSEI, size Mg x N
inWork,inIWork The vector used for workspace by LSEI.

Definition at line 908 of file nmrLSqLin.h.

References A, Allocate(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), E, G, and vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeE, typename _matrixOwnerTypeG, typename _vectorOwnerTypeX, typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
void nmrLSqLinSolutionDynamic::SetRef ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicMatrixBase< _matrixOwnerTypeE, CISSTNETLIB_DOUBLE > &  inE,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  inG,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeIWork, CISSTNETLIB_DOUBLE > &  inIWork 
) [inline]

This method must be called before the solution object is passed to nmrLSqLin function. The user provides the input matrices to specify size, along with vector X and workspace. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LSqLin algorithm. Checks are made on the validity of the input and its consitency with the size of input matrices.

Parameters:
inA,inE,inG The input matrices
inX The output vector for LSqLin
inWork,inIWork The workspace for LSI.

Definition at line 935 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows(), and SetRef().

template<typename _matrixOwnerTypeA, typename _matrixOwnerTypeE, typename _matrixOwnerTypeG, typename _vectorOwnerTypeX>
void nmrLSqLinSolutionDynamic::SetRef ( vctDynamicMatrixBase< _matrixOwnerTypeA, CISSTNETLIB_DOUBLE > &  inA,
vctDynamicMatrixBase< _matrixOwnerTypeE, CISSTNETLIB_DOUBLE > &  inE,
vctDynamicMatrixBase< _matrixOwnerTypeG, CISSTNETLIB_DOUBLE > &  inG,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX 
) [inline]

This method must be called before the solution object is passed to nmrLSqLin function. The user provides the input matrices to specify size, along with vector X. The solution object now acts as a composite container to hold, pass and manipulate a convenitent storage for LSqLin algorithm. Checks are made on thec validity of the input and its consitency with the size of input matrices. Memory allocation for workspace is done by the method. This case covers the scenario when user wants to make all system calls for memory allocation before entrying time critical code sections and might be using the LS matrix elsewhere in the *same* thread.

Parameters:
inA,inE,inG The input matrices
inX The output matrix for LSqLin

Definition at line 960 of file nmrLSqLin.h.

References vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows(), SetRef(), and WorkspaceMemory.

void nmrLSqLinSolutionDynamic::Allocate ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n 
) [inline]

This method allocates memory of output matrices and vector and optionally for the workspace required by LS/LSI/LSEI. This method is not meant to be a top-level user API, but is used by other overloaded Allocate methods.

Parameters:
ma Number of rows of input matrix A
me Number of rows of input matrix E
mg Number of rows of input matrix G
n Number of cols of input matrix A

Definition at line 981 of file nmrLSqLin.h.

References IWork, Malloc(), and SetRef().

template<typename _vectorOwnerTypeWork>
void nmrLSqLinSolutionDynamic::Allocate ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork 
) [inline]

This method allocates memory of output matrices and vector and optionally for the workspace required by LS/LSI/LSEI. This method is not meant to be a top-level user API, but is used by other overloaded Allocate methods.

Parameters:
ma Number of rows of input matrix A
me Number of rows of input matrix E
mg Number of rows of input matrix G
n Number of cols of input matrix A
inWork Workspace provided by user

Definition at line 998 of file nmrLSqLin.h.

References cmnThrow(), GetWorkspaceSize(), Malloc(), SetRef(), and vctDynamicConstVectorBase< _vectorOwnerType, _elementType >::size().

template<typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
void nmrLSqLinSolutionDynamic::Allocate ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inIWork 
) [inline]

This method allocates memory of output matrices and vector and optionally for the workspace required by LS/LSI/LSEI. This method is not meant to be a top-level user API, but is used by other overloaded Allocate methods.

Parameters:
ma Number of rows of input matrix A
me Number of rows of input matrix E
mg Number of rows of input matrix G
n Number of cols of input matrix A
inWork,inIWork Workspace provided by user

Definition at line 1019 of file nmrLSqLin.h.

References cmnThrow(), GetIWorkspaceSize(), GetWorkspaceSize(), IWork, Malloc(), SetRef(), and vctDynamicConstVectorBase< _vectorOwnerType, _elementType >::size().

template<typename _vectorOwnerTypeX, typename _vectorOwnerTypeWork>
void nmrLSqLinSolutionDynamic::SetRef ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork 
) [inline]

This method memory references of output matrices and vector and for the workspace required by LS/LSI/LSEI. This method is not meant to be a top-level user API, but is used by other overloaded SetRef methods.

Parameters:
ma,me,mg Number of rows of input matrix A, E and G respectively
n Number of cols of input matrix A
inX The output matrix for LSqLin
inWork The workspace for LS.

Definition at line 1050 of file nmrLSqLin.h.

References cmnThrow(), GetWorkspaceSize(), Malloc(), SetRef(), and vctDynamicConstVectorBase< _vectorOwnerType, _elementType >::size().

template<typename _vectorOwnerTypeX, typename _vectorOwnerTypeWork, typename _vectorOwnerTypeIWork>
void nmrLSqLinSolutionDynamic::SetRef ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX,
vctDynamicVectorBase< _vectorOwnerTypeWork, CISSTNETLIB_DOUBLE > &  inWork,
vctDynamicVectorBase< _vectorOwnerTypeIWork, CISSTNETLIB_DOUBLE > &  inIWork 
) [inline]

This method memory references of output matrices and vector and for the workspace required by LS/LSI/LSEI. This method is not meant to be a top-level user API, but is used by other overloaded SetRef methods.

Parameters:
ma,me,mg Number of rows of input matrix A, E and G respectively
n Number of cols of input matrix A
inX The output matrix for LSqLin
inWork/inIWork The workspace for LSI/LSEI.

Definition at line 1073 of file nmrLSqLin.h.

References cmnThrow(), GetIWorkspaceSize(), GetWorkspaceSize(), IWork, Malloc(), SetRef(), and vctDynamicConstVectorBase< _vectorOwnerType, _elementType >::size().

template<typename _vectorOwnerTypeX>
void nmrLSqLinSolutionDynamic::SetRef ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n,
vctDynamicVectorBase< _vectorOwnerTypeX, CISSTNETLIB_DOUBLE > &  inX 
) [inline]

This method memory references of output matrices and vector and for the workspace required by LS/LSI/LSEI. This method is not meant to be a top-level user API, but is used by other overloaded SetRef methods.

Parameters:
ma,me,mg Number of rows of input matrix A, E and G respectively
n Number of cols of input matrix A
inX The output matrix for LSqLin

Definition at line 1103 of file nmrLSqLin.h.

References cmnThrow(), IWork, Malloc(), SetRef(), and vctDynamicConstVectorBase< _vectorOwnerType, _elementType >::size().

void nmrLSqLinSolutionDynamic::Malloc ( CISSTNETLIB_INTEGER  ma,
CISSTNETLIB_INTEGER  me,
CISSTNETLIB_INTEGER  mg,
CISSTNETLIB_INTEGER  n,
bool  allocateWorkspace,
bool  allocateInput,
bool  allocateOutput 
) [inline, protected]

This method allocates memory of output matrices and vector and optionally for the workspace required by LS/LSI/LSEI. This method is not meant to be a top-level user API, but is used by other overloaded Allocate methods.

Parameters:
ma Number of rows of input matrix A
me Number of rows of input matrix E
mg Number of rows of input matrix G
n Number of cols of input matrix A
allocateWorkspace If true, allocate memory of workspace as well.
allocateInput If true, allocate memory of input as well.
allocateOutput If true, allocate memory of output as well.

Definition at line 1128 of file nmrLSqLin.h.

References GetIWorkspaceSize(), GetWorkspaceSize(), InputMemory, IWorkspaceMemory, m_Ma, m_Me, m_Mg, m_N, OutputMemory, RNorm, RNormE, RNormL, SetRef(), VCT_COL_MAJOR, and WorkspaceMemory.

Referenced by Allocate(), and SetRef().

const vctDynamicVectorRef<CISSTNETLIB_DOUBLE>& nmrLSqLinSolutionDynamic::GetX ( void   )  const [inline]

In order to get access to X, after the have been computed by calling nmrLSqLin function. use the following methods.

Definition at line 1182 of file nmrLSqLin.h.

References X.


Member Data Documentation

vctDynamicVector<CISSTNETLIB_DOUBLE> nmrLSqLinSolutionDynamic::WorkspaceMemory [protected]

Memory allocated for Workspace matrices if needed

Definition at line 120 of file nmrLSqLin.h.

Referenced by Malloc(), and SetRef().

vctDynamicVector<CISSTNETLIB_DOUBLE> nmrLSqLinSolutionDynamic::OutputMemory [protected]

Memory allocated for output X if needed.

Definition at line 125 of file nmrLSqLin.h.

Referenced by Malloc().

vctDynamicMatrix<CISSTNETLIB_DOUBLE> nmrLSqLinSolutionDynamic::InputMemory [protected]

Memory allocated for input if needed The LSEI (constrained least squares) require that the the input matrices be in one continous memory block ordered accoring to fortran order (Column Major format), such that first Mc rows and N columns represent A, Ma rows and N+1 th column represent b next Me rows represent (E, f) and last Mg rows represent (G, h) where the original LSEI problem is arg min || A x - b ||, s.t. E x = f and G x >= h. The input for LSI is similar other than Me == 0.

Definition at line 139 of file nmrLSqLin.h.

Referenced by nmrLSqLinSolutionDynamic::Friend::GetInput(), and Malloc().

vctDynamicMatrixRef<CISSTNETLIB_DOUBLE> nmrLSqLinSolutionDynamic::A [protected]

References to work or return or input types, these point either to user allocated memory or our memory chunks if needed

Definition at line 144 of file nmrLSqLin.h.

Referenced by Allocate(), nmrLSqLinSolutionDynamic::Friend::GetA(), nmrLSqLinSolutionDynamic(), and SetRef().


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