BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
GSLMultiFit, internal class for implementing GSL non linear least square GSL fitting
Definition at line 52 of file GSLMultiFit.h.
Public Member Functions | |
GSLMultiFit (const gsl_multifit_fdfsolver_type *type=0) | |
~GSLMultiFit () | |
const double * | CovarMatrix () const |
return covariance matrix of the parameters More... | |
void | CreateSolver (unsigned int npoints, unsigned int npar) |
create the minimizer from the type and size of number of fitting points and number of parameters More... | |
double | Edm () const |
const double * | Gradient () const |
gradient value at the minimum More... | |
int | Iterate () |
std::string | Name () const |
template<class Func > | |
int | Set (const std::vector< Func > &funcVec, const double *x) |
set the solver parameters More... | |
int | TestDelta (double absTol, double relTol) const |
test using abs and relative tolerance |dx| < absTol + relTol*|x| for every component More... | |
int | TestGradient (double absTol) const |
test gradient (ask from solver gradient vector) More... | |
const double * | X () const |
parameter values at the minimum More... | |
Private Member Functions | |
GSLMultiFit (const GSLMultiFit &) | |
GSLMultiFit & | operator= (const GSLMultiFit &rhs) |
Private Attributes | |
gsl_matrix * | fCov |
GSLMultiFitFunctionWrapper | fFunc |
gsl_multifit_fdfsolver * | fSolver |
gsl_vector * | fTmp |
const gsl_multifit_fdfsolver_type * | fType |
gsl_vector * | fVec |
|
inline |
Default constructor No need to specify the type so far since only one solver exists so far
Definition at line 60 of file GSLMultiFit.h.
References fType.
|
inline |
|
inlineprivate |
|
inline |
return covariance matrix of the parameters
Definition at line 181 of file GSLMultiFit.h.
Referenced by Edm().
|
inline |
|
inline |
Definition at line 209 of file GSLMultiFit.h.
References CovarMatrix(), fCov, fTmp, fVec, and Gradient().
|
inline |
gradient value at the minimum
Definition at line 170 of file GSLMultiFit.h.
References fSolver, fType, and fVec.
Referenced by Edm(), and TestGradient().
|
inline |
Definition at line 157 of file GSLMultiFit.h.
References fSolver.
|
inline |
|
inlineprivate |
Assignment operator
Definition at line 97 of file GSLMultiFit.h.
|
inline |
set the solver parameters
Definition at line 123 of file GSLMultiFit.h.
References CreateSolver(), fCov, fFunc, fSolver, fTmp, fVec, ROOT::Math::GSLMultiFitFunctionWrapper::GetFunc(), and ROOT::Math::GSLMultiFitFunctionWrapper::SetFunction().
|
inline |
|
inline |
test gradient (ask from solver gradient vector)
Definition at line 195 of file GSLMultiFit.h.
References fSolver, fVec, and Gradient().
|
inline |
|
mutableprivate |
Definition at line 233 of file GSLMultiFit.h.
Referenced by ~GSLMultiFit(), CovarMatrix(), CreateSolver(), Edm(), and Set().
|
private |
Definition at line 228 of file GSLMultiFit.h.
Referenced by Set().
|
private |
Definition at line 229 of file GSLMultiFit.h.
Referenced by ~GSLMultiFit(), CovarMatrix(), CreateSolver(), Gradient(), Iterate(), Name(), Set(), TestDelta(), TestGradient(), and X().
|
mutableprivate |
Definition at line 232 of file GSLMultiFit.h.
Referenced by ~GSLMultiFit(), CreateSolver(), Edm(), and Set().
|
private |
Definition at line 237 of file GSLMultiFit.h.
Referenced by GSLMultiFit(), CreateSolver(), and Gradient().
|
mutableprivate |
Definition at line 231 of file GSLMultiFit.h.
Referenced by ~GSLMultiFit(), CreateSolver(), Edm(), Gradient(), Set(), and TestGradient().