Performs non linear optimization over a non-linear function, using a variant of the Levenberg Marquardt algorithm. More...
Inherits internal::no_assignment_operator.
Classes | |
struct | Parameters |
Public Types | |
typedef FunctorType_ | FunctorType |
typedef Matrix< Scalar, Dynamic, 1 > | FVectorType |
typedef Matrix< Scalar, Dynamic, 1 > | FVectorType |
typedef DenseIndex | Index |
typedef FunctorType::JacobianType | JacobianType |
typedef Matrix< Scalar, Dynamic, Dynamic > | JacobianType |
typedef QRSolver::StorageIndex | PermIndex |
typedef PermutationMatrix< Dynamic, Dynamic, int > | PermutationType |
typedef FunctorType::QRSolver | QRSolver |
typedef JacobianType::RealScalar | RealScalar |
typedef JacobianType::Scalar | Scalar |
Static Public Member Functions | |
static LevenbergMarquardtSpace::Status | lmdif1 (FunctorType &functor, FVectorType &x, Index *nfev, const Scalar tol=sqrt_epsilon()) |
static LevenbergMarquardtSpace::Status | lmdif1 (FunctorType &functor, FVectorType &x, Index *nfev, const Scalar tol=std::sqrt(NumTraits< Scalar >::epsilon())) |
Public Attributes | |
FVectorType | diag |
JacobianType | fjac |
Scalar | fnorm |
FVectorType | fvec |
Scalar | gnorm |
Index | iter |
Index | nfev |
Index | njev |
Parameters | parameters |
PermutationMatrix< Dynamic, Dynamic > | permutation |
FVectorType | qtf |
bool | useExternalScaling |
Private Member Functions | |
LevenbergMarquardt & | operator= (const LevenbergMarquardt &) |
Static Private Member Functions | |
static Scalar | sqrt_epsilon () |
Performs non linear optimization over a non-linear function, using a variant of the Levenberg Marquardt algorithm.
Check wikipedia for more information. http://en.wikipedia.org/wiki/Levenberg%E2%80%93Marquardt_algorithm
Definition at line 112 of file LevenbergMarquardt/LevenbergMarquardt.h.
typedef FunctorType_ Eigen::LevenbergMarquardt< FunctorType_ >::FunctorType |
Definition at line 115 of file LevenbergMarquardt/LevenbergMarquardt.h.
typedef Matrix<Scalar,Dynamic,1> Eigen::LevenbergMarquardt< FunctorType_ >::FVectorType |
Definition at line 121 of file LevenbergMarquardt/LevenbergMarquardt.h.
typedef Matrix< Scalar, Dynamic, 1 > Eigen::LevenbergMarquardt< FunctorType_ >::FVectorType |
Definition at line 78 of file NonLinearOptimization/LevenbergMarquardt.h.
typedef DenseIndex Eigen::LevenbergMarquardt< FunctorType_ >::Index |
Definition at line 60 of file NonLinearOptimization/LevenbergMarquardt.h.
typedef FunctorType::JacobianType Eigen::LevenbergMarquardt< FunctorType_ >::JacobianType |
Definition at line 117 of file LevenbergMarquardt/LevenbergMarquardt.h.
typedef Matrix< Scalar, Dynamic, Dynamic > Eigen::LevenbergMarquardt< FunctorType_ >::JacobianType |
Definition at line 79 of file NonLinearOptimization/LevenbergMarquardt.h.
typedef QRSolver::StorageIndex Eigen::LevenbergMarquardt< FunctorType_ >::PermIndex |
Definition at line 120 of file LevenbergMarquardt/LevenbergMarquardt.h.
typedef PermutationMatrix<Dynamic,Dynamic,int> Eigen::LevenbergMarquardt< FunctorType_ >::PermutationType |
Definition at line 122 of file LevenbergMarquardt/LevenbergMarquardt.h.
typedef FunctorType::QRSolver Eigen::LevenbergMarquardt< FunctorType_ >::QRSolver |
Definition at line 116 of file LevenbergMarquardt/LevenbergMarquardt.h.
typedef JacobianType::RealScalar Eigen::LevenbergMarquardt< FunctorType_ >::RealScalar |
Definition at line 119 of file LevenbergMarquardt/LevenbergMarquardt.h.
typedef JacobianType::Scalar Eigen::LevenbergMarquardt< FunctorType_ >::Scalar |
Definition at line 118 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 124 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 57 of file NonLinearOptimization/LevenbergMarquardt.h.
|
inline |
Definition at line 199 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 193 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 190 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 211 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 184 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 221 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 214 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 187 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Reports whether the minimization was successful.
Success
if the minimization was successful, NumericalIssue
if a numerical problem arises during the minimization process, for example during the QR factorization NoConvergence
if the minimization did not converge after the maximum number of function evaluation allowed InvalidInput
if the input matrix is invalid Definition at line 245 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 202 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 225 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 217 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 118 of file NonLinearOptimization/LevenbergMarquardt.h.
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType_ >::lmder1 | ( | FVectorType & | x, |
const Scalar | tol = sqrt_epsilon() |
||
) |
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType, Scalar >::lmder1 | ( | FVectorType & | x, |
const Scalar | tol = std::sqrt(NumTraits<Scalar>::epsilon()) |
||
) |
Definition at line 346 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
static |
|
static |
Definition at line 369 of file LevenbergMarquardt/LevenbergMarquardt.h.
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType, Scalar >::lmstr1 | ( | FVectorType & | x, |
const Scalar | tol = sqrt_epsilon() |
||
) |
Definition at line 365 of file NonLinearOptimization/LevenbergMarquardt.h.
|
inline |
Definition at line 230 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 196 of file LevenbergMarquardt/LevenbergMarquardt.h.
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType, Scalar >::minimize | ( | FVectorType & | x | ) |
Definition at line 279 of file LevenbergMarquardt/LevenbergMarquardt.h.
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType_ >::minimize | ( | FVectorType & | x | ) |
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType, Scalar >::minimizeInit | ( | FVectorType & | x | ) |
Definition at line 296 of file LevenbergMarquardt/LevenbergMarquardt.h.
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType_ >::minimizeInit | ( | FVectorType & | x | ) |
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType, Scalar >::minimizeOneStep | ( | FVectorType & | x | ) |
Definition at line 23 of file LMonestep.h.
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType_ >::minimizeOneStep | ( | FVectorType & | x | ) |
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType, Scalar >::minimizeOptimumStorage | ( | FVectorType & | x | ) |
Definition at line 615 of file NonLinearOptimization/LevenbergMarquardt.h.
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType, Scalar >::minimizeOptimumStorageInit | ( | FVectorType & | x | ) |
Definition at line 387 of file NonLinearOptimization/LevenbergMarquardt.h.
LevenbergMarquardtSpace::Status Eigen::LevenbergMarquardt< FunctorType, Scalar >::minimizeOptimumStorageOneStep | ( | FVectorType & | x | ) |
Definition at line 436 of file NonLinearOptimization/LevenbergMarquardt.h.
|
inline |
Definition at line 205 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 208 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
|
inline |
the permutation used in the QR factorization
Definition at line 234 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Sets the default parameters
Definition at line 147 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Definition at line 106 of file NonLinearOptimization/LevenbergMarquardt.h.
|
inline |
|
inline |
Use an external Scaling. If set to true, pass a nonzero diagonal to diag()
Definition at line 178 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Sets the step bound for the diagonal shift
Definition at line 169 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Sets the tolerance for the norm of the vector function
Definition at line 163 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Sets the tolerance for the norm of the gradient of the error vector
Definition at line 166 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Sets the maximum number of function evaluation
Definition at line 175 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inline |
Sets the tolerance for the norm of the solution vector
Definition at line 160 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
inlinestaticprivate |
Definition at line 50 of file NonLinearOptimization/LevenbergMarquardt.h.
|
inline |
Definition at line 181 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 130 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 128 of file NonLinearOptimization/LevenbergMarquardt.h.
FVectorType Eigen::LevenbergMarquardt< FunctorType_ >::diag |
Definition at line 109 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 130 of file NonLinearOptimization/LevenbergMarquardt.h.
JacobianType Eigen::LevenbergMarquardt< FunctorType_ >::fjac |
Definition at line 110 of file NonLinearOptimization/LevenbergMarquardt.h.
Scalar Eigen::LevenbergMarquardt< FunctorType_ >::fnorm |
Definition at line 115 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 130 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 121 of file NonLinearOptimization/LevenbergMarquardt.h.
FVectorType Eigen::LevenbergMarquardt< FunctorType_ >::fvec |
Definition at line 109 of file NonLinearOptimization/LevenbergMarquardt.h.
Scalar Eigen::LevenbergMarquardt< FunctorType_ >::gnorm |
Definition at line 115 of file NonLinearOptimization/LevenbergMarquardt.h.
Index Eigen::LevenbergMarquardt< FunctorType_ >::iter |
Definition at line 114 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 256 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 268 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 254 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 266 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 261 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 251 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 259 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 263 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 253 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 254 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 260 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 265 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 274 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 273 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 267 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 262 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 257 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 258 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 272 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 270 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 254 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 252 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 269 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 271 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 271 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 271 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 271 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 264 of file LevenbergMarquardt/LevenbergMarquardt.h.
|
private |
Definition at line 255 of file LevenbergMarquardt/LevenbergMarquardt.h.
Index Eigen::LevenbergMarquardt< FunctorType_ >::nfev |
Definition at line 112 of file NonLinearOptimization/LevenbergMarquardt.h.
Index Eigen::LevenbergMarquardt< FunctorType_ >::njev |
Definition at line 113 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 126 of file NonLinearOptimization/LevenbergMarquardt.h.
Parameters Eigen::LevenbergMarquardt< FunctorType_ >::parameters |
Definition at line 108 of file NonLinearOptimization/LevenbergMarquardt.h.
PermutationMatrix<Dynamic,Dynamic> Eigen::LevenbergMarquardt< FunctorType_ >::permutation |
Definition at line 111 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 130 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 130 of file NonLinearOptimization/LevenbergMarquardt.h.
FVectorType Eigen::LevenbergMarquardt< FunctorType_ >::qtf |
Definition at line 109 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 129 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 126 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 127 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 127 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 127 of file NonLinearOptimization/LevenbergMarquardt.h.
bool Eigen::LevenbergMarquardt< FunctorType_ >::useExternalScaling |
Definition at line 116 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 124 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 124 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 124 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 124 of file NonLinearOptimization/LevenbergMarquardt.h.
|
private |
Definition at line 130 of file NonLinearOptimization/LevenbergMarquardt.h.