#include <nmrFnJacobianSolver.h>
Collaboration diagram for nmrFnJacobianSolver:

The data members of this class are:
info = 0 improper input parameters.
info = 1 algorithm estimates that the relative error between x and the solution is at most tol.
info = 2 number of calls to user function with iflag = 1 has reached 100*(n+1).
info = 3 tol is too small. no further improvement in the approximate solution x is possible.
info = 4 iteration is not making good progress.
The input/output from this class is:
The solver calls this method when needed to obtain value for function for a given variable values X.
The following constructor can be used to contruct the nmrCallBackFnSolver object required to be passed to the Solve() method. This object needs to be created only once per given set of nonlinear functions to be minized. nmrCallBackFnSolver<nmrUNIQUE_IDENTIFIER_LINE, Cfoo> callBackObject(this, &Cfoo::Mbar);
Definition at line 103 of file nmrFnJacobianSolver.h.
| nmrFnJacobianSolver::nmrFnJacobianSolver | ( | 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 121 of file nmrFnJacobianSolver.h.
References Allocate().
| nmrFnJacobianSolver::nmrFnJacobianSolver | ( | CISSTNETLIB_INTEGER | n | ) | [inline] |
Constructor with memory allocation. This constructor allocates the memory based on N. It relies on the method Allocate(). The next call to the Solve() method will check that the parameters match the dimension.
| n | Number of variables This order will be used for the output as well. |
Definition at line 135 of file nmrFnJacobianSolver.h.
References Allocate().
| nmrFnJacobianSolver::nmrFnJacobianSolver | ( | vctDynamicVector< CISSTNETLIB_DOUBLE > & | X | ) | [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 and storage order.
Definition at line 147 of file nmrFnJacobianSolver.h.
References Allocate().
| nmrFnJacobianSolver::nmrFnJacobianSolver | ( | vctDynamicVector< CISSTNETLIB_DOUBLE > & | X | ) | [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 and storage order.
Definition at line 147 of file nmrFnJacobianSolver.h.
References Allocate().
| void nmrFnJacobianSolver::Allocate | ( | CISSTNETLIB_INTEGER | n | ) | [inline] |
This method allocates the memory based on N. The next call to the Solve() method will check that the parameters match the dimension.
| n | Number of variables |
Definition at line 159 of file nmrFnJacobianSolver.h.
References Ldfjac, Lwork, N, vctDynamicVector< _elementType >::SetSize(), Tolerance, and Work.
Referenced by Allocate(), and nmrFnJacobianSolver().
| void nmrFnJacobianSolver::Allocate | ( | vctDynamicVector< CISSTNETLIB_DOUBLE > & | X | ) | [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 173 of file nmrFnJacobianSolver.h.
References Allocate(), and vctDynamicConstVectorBase< vctDynamicVectorOwner< _elementType >, _elementType >::size().
| void nmrFnJacobianSolver::Solve | ( | nmrCallBackFunctionF< __instanceLineF, __elementTypeF > & | callBackF, | |
| nmrCallBackFunctionJ< __instanceLineJ, __elementTypeJ > & | callBackJ, | |||
| vctDynamicVector< CISSTNETLIB_DOUBLE > & | X, | |||
| vctDynamicVector< CISSTNETLIB_DOUBLE > & | F, | |||
| vctDynamicVector< CISSTNETLIB_DOUBLE > & | J, | |||
| CISSTNETLIB_DOUBLE | tolerance | |||
| ) | throw (std::runtime_error) [inline] |
This computes the solves nonlinear equations problem invloving N functions in N variables. On input, X contains the starting point, On output, X contains the final estimate F contains the final values
Definition at line 188 of file nmrFnJacobianSolver.h.
References cmnThrow(), Info, Ldfjac, Lwork, N, vctDynamicVectorBase< _vectorOwnerType, _elementType >::Pointer(), Tolerance, and Work.