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) |