28 #ifndef _nmrLSNonLinJacobianSolver_h
29 #define _nmrLSNonLinJacobianSolver_h
130 CISSTNETLIB_INTEGER
M;
131 CISSTNETLIB_INTEGER
N;
184 inline void Allocate(CISSTNETLIB_INTEGER m, CISSTNETLIB_INTEGER n) {
213 template <
int __instanceLineF,
214 class __elementTypeF,
216 class __elementTypeJ>
222 CISSTNETLIB_DOUBLE tolerance)
throw (std::runtime_error) {
224 if ((
N != static_cast<CISSTNETLIB_INTEGER>(X.size())) || (
M !=
static_cast<CISSTNETLIB_INTEGER
>(F.size())) || (
Ldfjac*
N !=
static_cast<CISSTNETLIB_INTEGER
>(J.size()))) {
225 cmnThrow(std::runtime_error(
"nmrLSNonLinJacobianSolver Solve: Size used for Allocate was different"));
229 lmder2_(callBackF.FunctionFlmdif, callBackJ.FunctionFlmder2, &
M, &
N,
230 X.Pointer(), F.Pointer(), J.Pointer(),
238 #endif // _nmrLSNonLinJacobianSolver_h
void Solve(nmrCallBackFunctionF< __instanceLineF, __elementTypeF > &callBackF, nmrCallBackFunctionJ< __instanceLineJ, __elementTypeJ > &callBackJ, vctDynamicVector< CISSTNETLIB_DOUBLE > &X, vctDynamicVector< CISSTNETLIB_DOUBLE > &F, vctDynamicVector< CISSTNETLIB_DOUBLE > &J, CISSTNETLIB_DOUBLE tolerance)
Definition: nmrLSNonLinJacobianSolver.h:217
vctDynamicVector< CISSTNETLIB_INTEGER > IWork
Definition: nmrLSNonLinJacobianSolver.h:136
void Allocate(vctDynamicVector< CISSTNETLIB_DOUBLE > &X, vctDynamicVector< CISSTNETLIB_DOUBLE > &F)
Definition: nmrLSNonLinJacobianSolver.h:200
Declaration of vctDynamicMatrix.
CISSTNETLIB_INTEGER Lwork
Definition: nmrLSNonLinJacobianSolver.h:135
vctDynamicVector< CISSTNETLIB_DOUBLE > Work
Definition: nmrLSNonLinJacobianSolver.h:137
nmrLSNonLinJacobianSolver(void)
Definition: nmrLSNonLinJacobianSolver.h:144
CISSTNETLIB_INTEGER Info
Definition: nmrLSNonLinJacobianSolver.h:134
Definition: nmrLSNonLinJacobianSolver.h:124
CISSTNETLIB_INTEGER Ldfjac
Definition: nmrLSNonLinJacobianSolver.h:132
void SetSize(size_type size)
Definition: vctDynamicVector.h:315
size_type size(void) const
Definition: vctDynamicConstVectorBase.h:164
Definition: nmrCallBack.h:45
nmrLSNonLinJacobianSolver(vctDynamicVector< CISSTNETLIB_DOUBLE > &X, vctDynamicVector< CISSTNETLIB_DOUBLE > &F)
Definition: nmrLSNonLinJacobianSolver.h:171
Definition: nmrCallBack.h:106
nmrLSNonLinJacobianSolver(CISSTNETLIB_INTEGER m, CISSTNETLIB_INTEGER n)
Definition: nmrLSNonLinJacobianSolver.h:159
#define cmnThrow(a)
Definition: MinimalCmn.h:4
pointer Pointer(index_type index=0)
Definition: vctDynamicVectorBase.h:155
void Allocate(CISSTNETLIB_INTEGER m, CISSTNETLIB_INTEGER n)
Definition: nmrLSNonLinJacobianSolver.h:184
CISSTNETLIB_INTEGER N
Definition: nmrLSNonLinJacobianSolver.h:131
CISSTNETLIB_INTEGER M
Definition: nmrLSNonLinJacobianSolver.h:130
CISSTNETLIB_DOUBLE Tolerance
Definition: nmrLSNonLinJacobianSolver.h:133