diff options
Diffstat (limited to 'math/nlfit/nlfitdefr.h')
-rw-r--r-- | math/nlfit/nlfitdefr.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/math/nlfit/nlfitdefr.h b/math/nlfit/nlfitdefr.h new file mode 100644 index 00000000..e3bf3ae0 --- /dev/null +++ b/math/nlfit/nlfitdefr.h @@ -0,0 +1,52 @@ +# The NLFIT data structure. + +# Structure length +define LEN_NLSTRUCT 35 + + +# Structure definition +define NL_TOL Memr[P2R($1+0)] # Tolerance for convergence +define NL_LAMBDA Memr[P2R($1+2)] # Damping factor +define NL_OLDSQ Memr[P2R($1+4)] # Sum resid. squared last iter. +define NL_SUMSQ Memr[P2R($1+6)] # Sum of residuals squared +define NL_REFSQ Memr[P2R($1+8)] # Reference sum of squares +define NL_SCATTER Memr[P2R($1+10)] # Additional scatter + +define NL_FUNC Memi[$1+12] # Fitting function +define NL_DFUNC Memi[$1+13] # Derivative function +define NL_NPARAMS Memi[$1+14] # Number of parameters +define NL_NFPARAMS Memi[$1+15] # Number of fitted parameters +define NL_ITMAX Memi[$1+16] # Max number of iterations +define NL_ITER Memi[$1+17] # Iteration counter +define NL_NPTS Memi[$1+18] # Number of points in fit + +define NL_PARAM Memi[$1+19] # Pointer to parameter vector +define NL_OPARAM Memi[$1+20] # Pointer to orignal parameter vector +define NL_DPARAM Memi[$1+21] # Pointer to parameter change vector +define NL_DELPARAM Memi[$1+22] # Pointer to delta param vector +define NL_PLIST Memi[$1+23] # Pointer to parameter list +define NL_ALPHA Memi[$1+24] # Pointer to alpha matrix +define NL_COVAR Memi[$1+25] # Pointer to covariance matrix +define NL_BETA Memi[$1+26] # Pointer to beta matrix +define NL_TRY Memi[$1+27] # Pointer to trial vector +define NL_DERIV Memi[$1+28] # Pointer to derivatives +define NL_CHOFAC Memi[$1+29] # Pointer to Cholesky factorization + +# next free location ($1 + 30) + +# Access to buffers +define PLIST Memi[$1] # Parameter list +define OPARAM Memr[$1] # Original parameter vector +define PARAM Memr[$1] # Parameter vector +define DPARAM Memr[$1] # Parameter change vector +define ALPHA Memr[$1] # Alpha matrix +define BETA Memr[$1] # Beta matrix +define TRY Memr[$1] # Trial vector +define DERIV Memr[$1] # Derivatives +define CHOFAC Memr[$1] # Cholesky factorization +define COVAR Memr[$1] # Covariance matrix + + +# Defined constants alter for tricky problems +define LAMBDAMAX 1000.0 +define MINITER 3 |