|
SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
|
LeastSquareEngine implementation which uses the GNU Scientific Library. More...
#include <GSLEngine.h>


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. | |
| virtual | ~GSLEngine ()=default |
| Destructor. | |
| LeastSquareSummary | solveProblem (EngineParameterManager ¶meter_manager, ResidualEstimator &residual_estimator) override |
| Public Member Functions inherited from ModelFitting::LeastSquareEngine | |
| virtual | ~LeastSquareEngine ()=default |
| Destructor. | |
Private Attributes | |
| int | m_itmax |
| double | m_xtol |
| double | m_gtol |
| double | m_ftol |
| double | m_delta |
LeastSquareEngine implementation which uses the GNU Scientific Library.
Definition at line 39 of file GSLEngine.h.
| 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.
| itmax | Maximum number of iteratios |
| xtol | Step tolerance: \f|\delta_i| \le xtol(|x_i| + xtol)\f |
| gtol | Gradient tolerance: \f\underset{i}{max}|g_i \times max(x_i, 1)| \le gtol \times max(\Phi(x),1)\f |
| ftol | Tolerance for the change in \f\chi^2\f Some versions of the GSL library ignore this. |
| delta | Step size for finite difference Jacobian |
Definition at line 41 of file GSLEngine.cpp.
|
virtualdefault |
Destructor.
|
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 118 of file GSLEngine.cpp.
References std::vector< T >::begin(), ModelFitting::EngineParameterManager::convertCovarianceMatrixToWorldSpace(), std::chrono::duration::count(), std::vector< T >::data(), ModelFitting::LeastSquareSummary::duration, std::end(), std::vector< T >::end(), ModelFitting::LeastSquareSummary::engine_stop_reason, ModelFitting::EngineParameterManager::getEngineValues(), ModelFitting::getStatusFlag(), ModelFitting::LeastSquareSummary::iteration_no, m_delta, m_ftol, m_gtol, m_itmax, m_xtol, std::chrono::steady_clock::now(), ModelFitting::EngineParameterManager::numberOfParameters(), ModelFitting::ResidualEstimator::numberOfResiduals(), ModelFitting::LeastSquareSummary::parameter_sigmas, ModelFitting::ResidualEstimator::populateResiduals(), std::vector< T >::push_back(), std::vector< T >::size(), std::sqrt(), ModelFitting::LeastSquareSummary::status_flag, std::tie(), ModelFitting::LeastSquareSummary::underlying_framework_info, and ModelFitting::EngineParameterManager::updateEngineValues().

|
private |
Definition at line 71 of file GSLEngine.h.
Referenced by GSLEngine(), and solveProblem().
|
private |
Definition at line 71 of file GSLEngine.h.
Referenced by GSLEngine(), and solveProblem().
|
private |
Definition at line 71 of file GSLEngine.h.
Referenced by GSLEngine(), and solveProblem().
|
private |
Definition at line 70 of file GSLEngine.h.
Referenced by GSLEngine(), and solveProblem().
|
private |
Definition at line 71 of file GSLEngine.h.
Referenced by GSLEngine(), and solveProblem().