SourceXtractorPlusPlus  0.14
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
ModelFitting::GSLEngine Class Reference

LeastSquareEngine implementation which uses the GNU Scientific Library. More...

#include <GSLEngine.h>

Inheritance diagram for ModelFitting::GSLEngine:
[legend]
Collaboration diagram for ModelFitting::GSLEngine:
[legend]

Public Member Functions

 GSLEngine (int itmax=1000, double xtol=1e-8, double gtol=1e-8, double ftol=1e-8, double delta=1e-4)
 Constructs a new instance of the engine. More...
 
virtual ~GSLEngine ()=default
 Destructor. More...
 
LeastSquareSummary solveProblem (EngineParameterManager &parameter_manager, ResidualEstimator &residual_estimator) override
 
- Public Member Functions inherited from ModelFitting::LeastSquareEngine
virtual ~LeastSquareEngine ()=default
 Destructor. More...
 

Private Attributes

int m_itmax
 
double m_xtol
 
double m_gtol
 
double m_ftol
 
double m_delta
 

Detailed Description

LeastSquareEngine implementation which uses the GNU Scientific Library.

See Also
https://www.gnu.org/software/gsl/doc/html/nls.html

Definition at line 39 of file GSLEngine.h.

Constructor & Destructor Documentation

ModelFitting::GSLEngine::GSLEngine ( int  itmax = 1000,
double  xtol = 1e-8,
double  gtol = 1e-8,
double  ftol = 1e-8,
double  delta = 1e-4 
)

Constructs a new instance of the engine.

Parameters
itmaxMaximum number of iteratios
xtolStep tolerance: || xtol(|x_i| + xtol)
gtolGradient tolerance: {i}{max}|g_i max(x_i, 1)| gtol max((x),1)
ftolTolerance for the change in ^2 Some versions of the GSL library ignore this.
deltaStep size for finite difference Jacobian

Definition at line 40 of file GSLEngine.cpp.

virtual ModelFitting::GSLEngine::~GSLEngine ( )
virtualdefault

Destructor.

Member Function Documentation

LeastSquareSummary ModelFitting::GSLEngine::solveProblem ( ModelFitting::EngineParameterManager parameter_manager,
ModelFitting::ResidualEstimator residual_estimator 
)
overridevirtual

Solves the minimization problem using the levmar library. The returned summary contains as underlying_framework_info an std::array<double,10>, which keeps the information regarding the minimization as it is provided by levmar (for more info see http://users.ics.forth.gr/~lourakis/levmar).

Implements ModelFitting::LeastSquareEngine.

Definition at line 107 of file GSLEngine.cpp.

References ModelFitting::EngineParameterManager::convertCovarianceMatrixToWorldSpace(), ModelFitting::EngineParameterManager::getEngineValues(), m_delta, m_ftol, m_gtol, m_itmax, m_xtol, ModelFitting::EngineParameterManager::numberOfParameters(), ModelFitting::ResidualEstimator::numberOfResiduals(), ModelFitting::ResidualEstimator::populateResiduals(), std::vector< T >::push_back(), std::sqrt(), std::tie(), ModelFitting::EngineParameterManager::updateEngineValues(), and ModelFitting::x.

Here is the call graph for this function:

Member Data Documentation

double ModelFitting::GSLEngine::m_delta
private

Definition at line 71 of file GSLEngine.h.

Referenced by solveProblem().

double ModelFitting::GSLEngine::m_ftol
private

Definition at line 71 of file GSLEngine.h.

Referenced by solveProblem().

double ModelFitting::GSLEngine::m_gtol
private

Definition at line 71 of file GSLEngine.h.

Referenced by solveProblem().

int ModelFitting::GSLEngine::m_itmax
private

Definition at line 70 of file GSLEngine.h.

Referenced by solveProblem().

double ModelFitting::GSLEngine::m_xtol
private

Definition at line 71 of file GSLEngine.h.

Referenced by solveProblem().


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