34 #ifndef VP_LEVENBERG_MARQUARTD_H
35 #define VP_LEVENBERG_MARQUARTD_H
37 #include <visp3/core/vpConfig.h>
38 #include <visp3/core/vpMath.h>
103 int VISP_EXPORT qrsolv(
int n,
double *r,
int ldr,
int *ipvt,
double *diag,
double *qtb,
double *x,
double *sdiag,
132 double VISP_EXPORT enorm(
const double *x,
int n);
205 int VISP_EXPORT lmpar(
int n,
double *r,
int ldr,
int *ipvt,
double *diag,
double *qtb,
double *delta,
double *par,
206 double *x,
double *sdiag,
double *wa1,
double *wa2);
221 double VISP_EXPORT pythag(
double a,
double b);
267 int VISP_EXPORT qrfac(
int m,
int n,
double *a,
int lda,
int *pivot,
int *ipvt,
int lipvt,
double *rdiag,
double *acnorm,
273 typedef void (*ComputeFunctionAndJacobian)(
int m,
int n,
double *xc,
double *fvecc,
double *jac,
int ldfjac,
int iflag);
380 int VISP_EXPORT lmder(ComputeFunctionAndJacobian ptr_fcn,
381 int m,
int n,
double *x,
double *fvec,
double *fjac,
int ldfjac,
double ftol,
double xtol,
382 double gtol,
unsigned int maxfev,
double *diag,
int mode,
const double factor,
int nprint,
383 int *info,
unsigned int *nfev,
int *njev,
int *ipvt,
double *qtf,
double *wa1,
double *wa2,
384 double *wa3,
double *wa4);
465 int VISP_EXPORT lmder1(ComputeFunctionAndJacobian ptr_fcn,
466 int m,
int n,
double *x,
double *fvec,
double *fjac,
int ldfjac,
double tol,
int *info,
467 int *ipvt,
int lwa,
double *wa);