Main Page | Modules | Class List | Directories | File List | Class Members | File Members

lev_marq.h File Reference

#include <gandalf/linalg/vec_gen.h>
#include <gandalf/linalg/mat_gen.h>
#include <gandalf/linalg/mat_square.h>
#include <gandalf/common/linked_list.h>

Go to the source code of this file.

Classes

struct  Gan_LevMarqObs
 Observation structure for Levenberg-Marquardt minimisation. More...
struct  Gan_LevMarqStruct
 Structure for holding state of Levenberg-Marquardt algorithm. More...

Typedefs

typedef Gan_Bool(* Gan_LevMarqObsFunc_h )(Gan_Vector *x, Gan_Vector *z, void *zdata, Gan_Vector *h, Gan_Matrix *H)
 Observation function for standard h-type observations.
typedef Gan_Bool(* Gan_LevMarqObsFunc_F )(Gan_Vector *x, Gan_Vector *z, void *zdata, Gan_Vector *F, Gan_Matrix *Hx, Gan_Matrix *Hz)
 Observation function for F-type observations.
typedef Gan_LevMarqObs Gan_LevMarqObs
 Observation structure for Levenberg-Marquardt minimisation.
typedef Gan_LevMarqStruct Gan_LevMarqStruct
 Structure for holding state of Levenberg-Marquardt algorithm.
typedef Gan_Bool(* Gan_LevMarqInitFunc )(Gan_Vector *x, Gan_List *obs_list, void *data)
 Callback function for initialising Levenberg-Marquardt algorithm.

Enumerations

enum  Gan_LevMarqObsType { GAN_LEV_MARQ_OBS_H, GAN_LEV_MARQ_OBS_H_ROBUST, GAN_LEV_MARQ_OBS_F }
 Observation type for Levenberg-Marquardt minimisation. More...

Functions

Gan_LevMarqStructgan_lev_marq_form (Gan_LevMarqStruct *lm)
 Forms a Levenberg-Marquardt structure.
Gan_Bool gan_lev_marq_init (Gan_LevMarqStruct *lm, Gan_LevMarqInitFunc init_func, void *data, double *residualp)
 Initialise Levenberg-Marquardt algorithm.
Gan_Bool gan_lev_marq_iteration (Gan_LevMarqStruct *lm, double lambda, double *residualp)
 Applies Levenberg-Marquardt iteration.
Gan_Vectorgan_lev_marq_get_x (Gan_LevMarqStruct *lm)
 Returns state of Levenberg-Marquardt minimisation.
Gan_SquMatrixgan_lev_marq_get_P (Gan_LevMarqStruct *lm)
 Returns state covariance of Levenberg-Marquardt minimisation.
void gan_lev_marq_free (Gan_LevMarqStruct *lm)
 Frees a Levenberg-Marquardt structure.
Gan_LevMarqStructgan_lev_marq_alloc (void)
 Macro: Allocates a Levenberg-Marquardt structure.


Detailed Description

Module: Levenberg-Marquardt non-linear minimisation algorithm

Part of: Gandalf Library

Version:
1.13
Date:
2002/05/16 08:43:38
Author:
pm
Copyright: (c) 2000 Imagineer Software Limited
Generated on Sat May 21 23:52:50 2005 by  doxygen 1.4.3