Please, help us to better know about our user community by answering the following short survey: https://forms.gle/wpyrxWi18ox9Z5ae9
 
Loading...
Searching...
No Matches
Eigen::LevenbergMarquardt< FunctorType, Scalar > Class Template Reference

Detailed Description

template<typename FunctorType, typename Scalar = double>
class Eigen::LevenbergMarquardt< FunctorType, Scalar >

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

Inherits internal::no_assignment_operator.

Public Member Functions

FVectorTypediag ()
 
RealScalar epsilon () const
 
RealScalar factor () const
 
RealScalar fnorm ()
 
RealScalar ftol () const
 
FVectorTypefvec ()
 
RealScalar gnorm ()
 
RealScalar gtol () const
 
ComputationInfo info () const
 Reports whether the minimization was successful.
 
Index iterations ()
 
JacobianType & jacobian ()
 
RealScalar lm_param (void)
 
JacobianType & matrixR ()
 
Index maxfev () const
 
Index nfev ()
 
Index njev ()
 
PermutationType permutation ()
 
void resetParameters ()
 
void setEpsilon (RealScalar epsfcn)
 
void setExternalScaling (bool value)
 
void setFactor (RealScalar factor)
 
void setFtol (RealScalar ftol)
 
void setGtol (RealScalar gtol)
 
void setMaxfev (Index maxfev)
 
void setXtol (RealScalar xtol)
 
RealScalar xtol () const
 

Member Function Documentation

◆ diag()

template<typename FunctorType , typename Scalar = double>
FVectorType & Eigen::LevenbergMarquardt< FunctorType, Scalar >::diag ( )
inline
Returns
a reference to the diagonal of the jacobian

◆ epsilon()

template<typename FunctorType , typename Scalar = double>
RealScalar Eigen::LevenbergMarquardt< FunctorType, Scalar >::epsilon ( ) const
inline
Returns
the error precision

◆ factor()

template<typename FunctorType , typename Scalar = double>
RealScalar Eigen::LevenbergMarquardt< FunctorType, Scalar >::factor ( ) const
inline
Returns
the step bound for the diagonal shift

◆ fnorm()

template<typename FunctorType , typename Scalar = double>
RealScalar Eigen::LevenbergMarquardt< FunctorType, Scalar >::fnorm ( )
inline
Returns
the norm of current vector function

◆ ftol()

template<typename FunctorType , typename Scalar = double>
RealScalar Eigen::LevenbergMarquardt< FunctorType, Scalar >::ftol ( ) const
inline
Returns
the tolerance for the norm of the vector function

◆ fvec()

template<typename FunctorType , typename Scalar = double>
FVectorType & Eigen::LevenbergMarquardt< FunctorType, Scalar >::fvec ( )
inline
Returns
a reference to the current vector function

◆ gnorm()

template<typename FunctorType , typename Scalar = double>
RealScalar Eigen::LevenbergMarquardt< FunctorType, Scalar >::gnorm ( )
inline
Returns
the norm of the gradient of the error

◆ gtol()

template<typename FunctorType , typename Scalar = double>
RealScalar Eigen::LevenbergMarquardt< FunctorType, Scalar >::gtol ( ) const
inline
Returns
the tolerance for the norm of the gradient of the error vector

◆ info()

template<typename FunctorType , typename Scalar = double>
ComputationInfo Eigen::LevenbergMarquardt< FunctorType, Scalar >::info ( ) const
inline

Reports whether the minimization was successful.

Returns
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

◆ iterations()

template<typename FunctorType , typename Scalar = double>
Index Eigen::LevenbergMarquardt< FunctorType, Scalar >::iterations ( )
inline
Returns
the number of iterations performed

◆ jacobian()

template<typename FunctorType , typename Scalar = double>
JacobianType & Eigen::LevenbergMarquardt< FunctorType, Scalar >::jacobian ( )
inline
Returns
a reference to the matrix where the current Jacobian matrix is stored

◆ lm_param()

template<typename FunctorType , typename Scalar = double>
RealScalar Eigen::LevenbergMarquardt< FunctorType, Scalar >::lm_param ( void )
inline
Returns
the LevenbergMarquardt parameter

◆ matrixR()

template<typename FunctorType , typename Scalar = double>
JacobianType & Eigen::LevenbergMarquardt< FunctorType, Scalar >::matrixR ( )
inline
Returns
a reference to the triangular matrix R from the QR of the jacobian matrix.
See also
jacobian()

◆ maxfev()

template<typename FunctorType , typename Scalar = double>
Index Eigen::LevenbergMarquardt< FunctorType, Scalar >::maxfev ( ) const
inline
Returns
the maximum number of function evaluation

◆ nfev()

template<typename FunctorType , typename Scalar = double>
Index Eigen::LevenbergMarquardt< FunctorType, Scalar >::nfev ( )
inline
Returns
the number of functions evaluation

◆ njev()

template<typename FunctorType , typename Scalar = double>
Index Eigen::LevenbergMarquardt< FunctorType, Scalar >::njev ( )
inline
Returns
the number of jacobian evaluation

◆ permutation()

template<typename FunctorType , typename Scalar = double>
PermutationType Eigen::LevenbergMarquardt< FunctorType, Scalar >::permutation ( )
inline

the permutation used in the QR factorization

◆ resetParameters()

template<typename FunctorType , typename Scalar = double>
void Eigen::LevenbergMarquardt< FunctorType, Scalar >::resetParameters ( )
inline

Sets the default parameters

◆ setEpsilon()

template<typename FunctorType , typename Scalar = double>
void Eigen::LevenbergMarquardt< FunctorType, Scalar >::setEpsilon ( RealScalar epsfcn)
inline

Sets the error precision

◆ setExternalScaling()

template<typename FunctorType , typename Scalar = double>
void Eigen::LevenbergMarquardt< FunctorType, Scalar >::setExternalScaling ( bool value)
inline

Use an external Scaling. If set to true, pass a nonzero diagonal to diag()

◆ setFactor()

template<typename FunctorType , typename Scalar = double>
void Eigen::LevenbergMarquardt< FunctorType, Scalar >::setFactor ( RealScalar factor)
inline

Sets the step bound for the diagonal shift

◆ setFtol()

template<typename FunctorType , typename Scalar = double>
void Eigen::LevenbergMarquardt< FunctorType, Scalar >::setFtol ( RealScalar ftol)
inline

Sets the tolerance for the norm of the vector function

◆ setGtol()

template<typename FunctorType , typename Scalar = double>
void Eigen::LevenbergMarquardt< FunctorType, Scalar >::setGtol ( RealScalar gtol)
inline

Sets the tolerance for the norm of the gradient of the error vector

◆ setMaxfev()

template<typename FunctorType , typename Scalar = double>
void Eigen::LevenbergMarquardt< FunctorType, Scalar >::setMaxfev ( Index maxfev)
inline

Sets the maximum number of function evaluation

◆ setXtol()

template<typename FunctorType , typename Scalar = double>
void Eigen::LevenbergMarquardt< FunctorType, Scalar >::setXtol ( RealScalar xtol)
inline

Sets the tolerance for the norm of the solution vector

◆ xtol()

template<typename FunctorType , typename Scalar = double>
RealScalar Eigen::LevenbergMarquardt< FunctorType, Scalar >::xtol ( ) const
inline
Returns
the tolerance for the norm of the solution vector

The documentation for this class was generated from the following files: