bpmnr/nr_levmar.c File Reference


Detailed Description

These routines have been written by : and were released under GPL

Manolis Lourakis Institute of Computer Science, Foundation for Research and Technology - Hellas, Heraklion, Crete, Greece

//////////////////////////////////////////////////////////////////////////////

Levenberg - Marquardt non-linear minimization algorithm Copyright (C) 2004 Manolis Lourakis (lourakis@ics.forth.gr) Institute of Computer Science, Foundation for Research & Technology - Hellas Heraklion, Crete, Greece.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

//////////////////////////////////////////////////////////////////////////////

Changes: BM. Modified the names of the routines somewhat to have them correspond to the rest of libbpm

Definition in file nr_levmar.c.

#include <bpm/bpm_messages.h>
#include <bpm/bpm_nr.h>

Include dependency graph for nr_levmar.c:

Go to the source code of this file.

Defines

#define __MIN__(x, y)
#define __MAX__(x, y)

Functions

void nr_trans_mat_mat_mult (double *a, double *b, int n, int m)
void nr_fdif_forw_jac_approx (void(*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *hx, double *hxx, double delta, double *jac, int m, int n, void *adata)
void nr_fdif_cent_jac_approx (void(*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *hxm, double *hxp, double delta, double *jac, int m, int n, void *adata)
void nr_lmchkjac (void(*func)(double *p, double *hx, int m, int n, void *adata), void(*jacf)(double *p, double *j, int m, int n, void *adata), double *p, int m, int n, void *adata, double *err)
int nr_lmcovar (double *JtJ, double *C, double sumsq, int m, int n)
int nr_lmder (void(*func)(double *p, double *hx, int m, int n, void *adata), void(*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, int itmax, double opts[4], double info[LM_INFO_SZ], double *work, double *covar, void *adata)
int nr_lmdif (void(*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, int itmax, double opts[5], double info[LM_INFO_SZ], double *work, double *covar, void *adata)
int nr_ax_eq_b_LU (double *A, double *B, double *x, int m)
int nr_lmder_bc (void(*func)(double *p, double *hx, int m, int n, void *adata), void(*jacf)(double *p, double *j, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, int itmax, double opts[4], double info[LM_INFO_SZ], double *work, double *covar, void *adata)
void lmbc_dif_func (double *p, double *hx, int m, int n, void *data)
void lmbc_dif_jacf (double *p, double *jac, int m, int n, void *data)
int nr_lmdif_bc (void(*func)(double *p, double *hx, int m, int n, void *adata), double *p, double *x, int m, int n, double *lb, double *ub, int itmax, double opts[5], double info[LM_INFO_SZ], double *work, double *covar, void *adata)


Generated on Wed Jun 25 17:32:15 2008 for libbpm by  doxygen 1.5.6