MRPT logo

mrpt::math::CLevenbergMarquardt Class Reference

An implementation of the Levenberg-Marquardt algorithm for least-square minimization. More...

#include <mrpt/math/CLevenbergMarquardt.h>

Inheritance diagram for mrpt::math::CLevenbergMarquardt:

mrpt::utils::CDebugOutputCapable

List of all members.

Classes

struct  TResultInfo

Static Public Member Functions

static void execute (vector_double &out_optimal_x, const vector_double &x0, utils::TFunctor_retVecDbl_inp2VecDbl functor, const vector_double &increments, const vector_double &userParam, TResultInfo &out_info, bool verbose=false, const size_t &maxIter=200, const double tau=1e-3, const double e1=1e-8, const double e2=1e-8)
 Executes the LM-method, with derivatives estimated from "functor" Is a user-provided function which takes as input two vectors, in this order:
  • x: The parameters to be optimized.


Detailed Description

An implementation of the Levenberg-Marquardt algorithm for least-square minimization.

Refer to the wiki page for more details on the algorithm and usage.

Definition at line 46 of file CLevenbergMarquardt.h.


Member Function Documentation

static void mrpt::math::CLevenbergMarquardt::execute ( vector_double out_optimal_x,
const vector_double x0,
utils::TFunctor_retVecDbl_inp2VecDbl  functor,
const vector_double increments,
const vector_double userParam,
TResultInfo out_info,
bool  verbose = false,
const size_t &  maxIter = 200,
const double  tau = 1e-3,
const double  e1 = 1e-8,
const double  e2 = 1e-8 
) [static]

Executes the LM-method, with derivatives estimated from "functor" Is a user-provided function which takes as input two vectors, in this order:

  • x: The parameters to be optimized.

  • userParam: The vector passed to the LM algorithm, unmodified. and must return the "error vector", or the error (not squared) in each measured dimension, so the sum of the square of that output is the overall square error.




Page generated by Doxygen 1.5.8 for MRPT 0.6.5 SVN:exported at Mon Jan 12 13:00:16 UTC 2009