IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
ipsdk::math::NonLinearSolver Class Reference

Class implementing a non linear solver based on Levenberg Marquardt algorithm. More...

#include <NonLinearSolver.h>

Inheritance diagram for ipsdk::math::NonLinearSolver:

Public Member Functions

eOptStatus getStatus () const
 check whether solve has been done
 
OptResult solve (const CostFunctionConstPtr &pCostFunction, const Vector &initParams)
 solve of optimization process More...
 
ipUInt32 getNbIteration () const
 retrieve number of iterations of optimization process More...
 
const VectorgetEstimParams () const
 retrieve estimated parameters More...
 
void clearResults ()
 method allowing to clear previous optimization process results
 
Constructors and destructor
 NonLinearSolver ()
 
 ~NonLinearSolver ()
 
const ipUInt32 getNbMaxIteration () const
 access to maximum number of iteration for optimization process More...
 
void setNbMaxIteration (const ipUInt32 nbMaxIteration)
 access to maximum number of iteration for optimization process More...
 

Static Protected Member Functions

static ipInt32 minPackProxy (void *pThis, ipInt32 m, ipInt32 n, ipReal64 *x, ipReal64 *fvec, ipReal64 *fjac, ipInt32 ldfjac, ipInt32 iflag)
 function called by minpack to ensure function computation
 

Protected Attributes

ipUInt32 _nbMaxIteration
 maximum number of iteration for optimization process More...
 
eOptStatus _optStatus
 status associated to object
 
ipUInt32 _nbIteration
 number of iterations associated to optimization process
 
Vector _estimParams
 estimated parameters
 
CostFunctionConstPtr _pCostFunction
 cost function used during optimization process
 
std::string _errorMsg
 internal function error reason
 
Vector _funValue
 
Vector _wa2
 
Vector _wa4
 
Matrix _jacValue
 

Detailed Description

Class implementing a non linear solver based on Levenberg Marquardt algorithm.

Author
E. Noirfalise
Date
2016/02/18

Member Function Documentation

◆ getNbMaxIteration()

const ipUInt32 ipsdk::math::NonLinearSolver::getNbMaxIteration ( ) const
inline

access to maximum number of iteration for optimization process

Note
default : 100

◆ setNbMaxIteration()

void ipsdk::math::NonLinearSolver::setNbMaxIteration ( const ipUInt32  nbMaxIteration)
inline

access to maximum number of iteration for optimization process

Note
default : 100

◆ solve()

OptResult ipsdk::math::NonLinearSolver::solve ( const CostFunctionConstPtr pCostFunction,
const Vector initParams 
)

solve of optimization process

Exceptions
ipsdk::math::IPSDKMathExceptionif pCostFunction.get() == 0
ipsdk::math::IPSDKMathExceptionif pCostFunction->getNbParameters() != initParameters.size()
Returns
optimization result

◆ getNbIteration()

ipUInt32 ipsdk::math::NonLinearSolver::getNbIteration ( ) const

retrieve number of iterations of optimization process

Exceptions
ipsdk::math::IPSDKMathExceptionif getStatus() == eOptStatus::eOS_Failed

◆ getEstimParams()

const Vector& ipsdk::math::NonLinearSolver::getEstimParams ( ) const

retrieve estimated parameters

Exceptions
ipsdk::math::IPSDKMathExceptionif getStatus() == eOptStatus::eOS_Failed

Member Data Documentation

◆ _nbMaxIteration

ipUInt32 ipsdk::math::NonLinearSolver::_nbMaxIteration
protected

maximum number of iteration for optimization process

Note
default : 100

◆ _funValue

Vector ipsdk::math::NonLinearSolver::_funValue
protected

internal working arrays

◆ _wa2

Vector ipsdk::math::NonLinearSolver::_wa2
protected

internal working arrays

◆ _wa4

Vector ipsdk::math::NonLinearSolver::_wa4
protected

internal working arrays

◆ _jacValue

Matrix ipsdk::math::NonLinearSolver::_jacValue
protected

internal working arrays


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