
Definition at line 39 of file nmrLSEISolver.h.
| nmrLSEISolver::nmrLSEISolver | ( | void | ) | [inline] |
Default constructor. This constructor doesn't allocate any memory. If you use this constructor, you will need to use one of the Allocate() methods before you can use the Solve method.
Definition at line 68 of file nmrLSEISolver.h.
References Allocate().
| nmrLSEISolver::nmrLSEISolver | ( | CISSTNETLIB_INTEGER | me, | |
| CISSTNETLIB_INTEGER | ma, | |||
| CISSTNETLIB_INTEGER | mg, | |||
| CISSTNETLIB_INTEGER | n | |||
| ) | [inline] |
Constructor with memory allocation. This constructor allocates the memory based on ME, MA, MG and N. It relies on the method Allocate(). The next call to the Solve() method will check that the parameters match the dimension.
Definition at line 84 of file nmrLSEISolver.h.
References Allocate().
| nmrLSEISolver::nmrLSEISolver | ( | vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | E, | |
| vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | A, | |||
| vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | G | |||
| ) | [inline] |
Constructor with memory allocation. This constructor allocates the memory based on the actual input of the Solve() method. It relies on the method Allocate(). The next call to the Solve() method will check that the parameters match the dimension.
Definition at line 94 of file nmrLSEISolver.h.
References Allocate().
| void nmrLSEISolver::Allocate | ( | CISSTNETLIB_INTEGER | me, | |
| CISSTNETLIB_INTEGER | ma, | |||
| CISSTNETLIB_INTEGER | mg, | |||
| CISSTNETLIB_INTEGER | n | |||
| ) | [inline] |
This method allocates the memory based on M and N. The next call to the Solve() method will check that the parameters match the dimension.
| me | Number of rows of E | |
| ma | Number of rows of A | |
| mg | Number of rows of G | |
| n | Number of unknowns |
Definition at line 109 of file nmrLSEISolver.h.
References ARef, bRef, ERef, fRef, GRef, hRef, Index, MA, MDW, ME, MG, N, Options, vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows(), vctDynamicMatrix< _elementType >::SetSize(), VCT_COL_MAJOR, W, Work, and X.
Referenced by Allocate(), and nmrLSEISolver().
| void nmrLSEISolver::Allocate | ( | vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | E, | |
| vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | A, | |||
| vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | G | |||
| ) | [inline] |
Allocate memory to solve this problem. This method provides a convenient way to extract the required sizes from the input containers. The next call to the Solve() method will check that the parameters match the dimension.
Definition at line 138 of file nmrLSEISolver.h.
References Allocate(), vctDynamicConstMatrixBase< vctDynamicMatrixOwner< _elementType >, _elementType >::cols(), and vctDynamicConstMatrixBase< vctDynamicMatrixOwner< _elementType >, _elementType >::rows().
| void nmrLSEISolver::Solve | ( | vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | E, | |
| vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | f, | |||
| vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | A, | |||
| vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | b, | |||
| vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | G, | |||
| vctDynamicMatrix< CISSTNETLIB_DOUBLE > & | h | |||
| ) | throw (std::runtime_error) [inline] |
Given a
matrix A, and a
vector B, compute a
vector X, that solves the least squares problem:

This version of Solve does a copy to ensure that the matrix passed to LSEI is one continous block of memory. If too large a matrix are used it is recommended to use the other version, where the user constructs the matrix W and passes it. The third alternative is to set get refrence to individual chunks of this objects W.
Definition at line 164 of file nmrLSEISolver.h.
References ARef, vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Assign(), bRef, CMN_LOG_INIT_ERROR, cmnThrow(), vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::cols(), ERef, fRef, GRef, hRef, Index, MA, MDW, ME, MG, Mode, N, Options, vctDynamicMatrixBase< _matrixOwnerType, _elementType >::Pointer(), RNormE, RNormL, vctDynamicConstMatrixBase< _matrixOwnerType, _elementType >::rows(), W, Work, and X.
| const vctDynamicMatrix<CISSTNETLIB_DOUBLE>& nmrLSEISolver::GetX | ( | void | ) | const [inline] |
Get X. This method must be used after Solve().
Definition at line 220 of file nmrLSEISolver.h.
References X.