laserIMUCalibration
lmmin.h File Reference

Declarations for Levenberg-Marquardt minimization. More...

#include "lmstruct.h"
Include dependency graph for lmmin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define __BEGIN_DECLS   /* empty */
 
#define __END_DECLS   /* empty */
 

Functions

__BEGIN_DECLS void lmmin (int n_par, double *par, int m_dat, const void *data, void(*evaluate)(const double *par, int m_dat, const void *data, double *fvec, int *userbreak), const lm_control_struct *control, lm_status_struct *status)
 Levenberg-Marquardt minimization. More...
 
double lm_enorm (int, const double *)
 Refined calculation of Eucledian norm. More...
 

Detailed Description

Declarations for Levenberg-Marquardt minimization.

Library lmfit (Levenberg-Marquardt least squares fitting)

Author
Joachim Wuttke, Forschungszentrum Juelich GmbH (2004-2013)

License FreeBSD

See also
Homepage

Definition in file lmmin.h.

Macro Definition Documentation

#define __BEGIN_DECLS   /* empty */

Definition at line 23 of file lmmin.h.

#define __END_DECLS   /* empty */

Definition at line 24 of file lmmin.h.

Function Documentation

double lm_enorm ( int  ,
const double *   
)

Refined calculation of Eucledian norm.

sum squares.

calculation of norm.

Definition at line 1119 of file lmmin.c.

Here is the caller graph for this function:

__BEGIN_DECLS void lmmin ( int  n_par,
double *  par,
int  m_dat,
const void *  data,
void(*)(const double *par, int m_dat, const void *data, double *fvec, int *userbreak)  evaluate,
const lm_control_struct control,
lm_status_struct status 
)

Levenberg-Marquardt minimization.

This routine contains the core algorithm of our library. It minimizes the sum of the squares of m nonlinear functions in n variables by a modified Levenberg-Marquardt algorithm. The function evaluation is done by the user-provided routine 'evaluate'. The Jacobian is then calculated by a forward-difference approximation.

Parameters
n_paris the number of variables (INPUT, positive integer).
paris the solution vector (INPUT/OUTPUT, array of length n). On input it must be set to an estimated solution. On output it yields the final estimate of the solution.
m_datis the number of functions to be minimized (INPUT, positive integer). It must fulfill m>=n.
datais a pointer that is ignored by lmmin; it is however forwarded to the user-supplied functions evaluate and printout. In a typical application, it contains experimental data to be fitted.
evaluateis a user-supplied function that calculates the m functions.
fvecis an array of length m; on OUTPUT, it must contain the m function values for the parameter vector x.
userbreakis an integer pointer. When *userbreak is set to a nonzero value, lmmin will terminate.
controlcontains INPUT variables that control the fit algorithm, as declared and explained in lmstruct.h
statuscontains OUTPUT variables that inform about the fit result, as declared and explained in lmstruct.h

Definition at line 183 of file lmmin.c.

Here is the call graph for this function:

Here is the caller graph for this function: