name: NonLinearOptimization


g++ [flags ...] file ... -l /isip/tools/lib/$ISIP_BINARY/lib_algo.a

#include <NonLinearOptimization.h>

NonLinearOptimization(const NonLinearOptimization& arg);
static boolean levenbergMarquardt(VectorDouble& params, double& chi_square,
                                  const VectorDouble& x, const VectorDouble& y,
                                  const VectorDouble& stddev,
                                  LEV_MARQ_FUNC_DOUBLE func,
                                  double convergence=DEF_LEVMARQ_CONVERGE);
static boolean levenbergMarquardt(VectorFloat& params, float& chi_square,
                                  const VectorFloat& x, const VectorFloat& y,
                                  const VectorFloat& stddev,
                                  LEV_MARQ_FUNC_FLOAT func,
                                  float convergence=DEF_LEVMARQ_CONVERGE);
quick start:

VectorFloat v_fl(L"1, 2, 3");
float chi_sq_fl = 0;
VectorFloat x_fl(L" 0, 1, 1");
VectorFloat stddev_fl(L"1, 1, 1");
VectorFloat y_fl;
NonlinearOptimization::levenbergMarquardt(v_fl, chi_sq_fl, x_fl,
					  y_fl, stddev_fl,

The NonLinearOptimization class is used to perform standard nonlinear optimization techniques including parametric curve fitting and nonparametric quadratic optimization. A good reference to learn about such techniques is: Our derivations follow this reference, but the code has been completely rewritten to make use of the IFC environment, and to better suit the needs of the IFC-based programmer.


public constants:

error codes:

protected data:

required public methods:

class-specific public methods:

private methods: