Mantid
|
In contrast to CostFuncLeastSquares, this variant of the cost function assumes that there are no weights attached to the values, so all observations will have unit weights. More...
#include <CostFuncUnweightedLeastSquares.h>
Public Member Functions | |
CostFuncUnweightedLeastSquares () | |
std::string | name () const override |
Get name of minimizer. More... | |
std::string | shortName () const override |
Get short name of minimizer - useful for say labels in guis. More... | |
Public Member Functions inherited from Mantid::CurveFitting::CostFunctions::CostFuncLeastSquares | |
CostFuncLeastSquares () | |
Constructor. More... | |
std::string | name () const override |
Get name of minimizer. More... | |
std::string | shortName () const override |
Get short name of minimizer - useful for say labels in guis. More... | |
Public Member Functions inherited from Mantid::CurveFitting::CostFunctions::CostFuncFitting | |
void | applyTies () |
Apply ties in the fitting function. More... | |
virtual void | calCovarianceMatrix (EigenMatrix &covar, double epsrel=1e-8) |
Calculates covariance matrix. More... | |
virtual void | calFittingErrors (const EigenMatrix &covar, double chi2) |
Calculate fitting errors. More... | |
CostFuncFitting () | |
Constructor. More... | |
virtual void | deriv (std::vector< double > &der) const override |
Calculate the derivatives of the cost function. More... | |
void | drop () |
Discard saved parameters, derivatives and hessian. More... | |
const EigenVector & | getDeriv () const |
Return cached or calculate the drivatives. More... | |
API::FunctionDomain_sptr | getDomain () const |
Get the domain the fitting function is applied to. More... | |
virtual API::IFunction_sptr | getFittingFunction () const |
Get fitting function. More... | |
const EigenMatrix & | getHessian () const |
Return cached or calculate the Hessian. More... | |
double | getParameter (size_t i) const override |
Get i-th parameter. More... | |
void | getParameters (EigenVector ¶ms) const |
Get all parameters into a GSLVector. More... | |
API::FunctionValues_sptr | getValues () const |
Get FunctionValues where function values are stored. More... | |
size_t | nParams () const override |
Number of parameters. More... | |
std::string | parameterName (size_t i) const |
Get name of i-th parameter. More... | |
void | pop () |
Restore saved parameters, derivatives and hessian. More... | |
void | push () |
Save current parameters, derivatives and hessian. More... | |
void | reset () const |
Reset the fitting function (neccessary if parameters get fixed/unfixed) More... | |
virtual void | setFittingFunction (API::IFunction_sptr function, API::FunctionDomain_sptr domain, API::FunctionValues_sptr values) |
Set fitting function. More... | |
void | setParameter (size_t i, const double &value) override |
Set i-th parameter. More... | |
void | setParameters (const EigenVector ¶ms) |
Set all parameters. More... | |
virtual double | val () const override |
Calculate value of cost function. More... | |
virtual double | valAndDeriv (std::vector< double > &der) const override |
Calculate the value and the derivatives of the cost function. More... | |
virtual double | valDerivHessian (bool evalDeriv=true, bool evalHessian=true) const |
Calculate the value, the first and the second derivatives of the cost function. More... | |
Public Member Functions inherited from Mantid::API::ICostFunction | |
virtual void | deriv (std::vector< double > &der) const =0 |
Calculate the derivatives of the cost function. More... | |
virtual double | getParameter (size_t i) const =0 |
Get i-th parameter. More... | |
virtual std::string | name () const =0 |
Get name of minimizer. More... | |
virtual size_t | nParams () const =0 |
Number of parameters. More... | |
virtual void | setParameter (size_t i, const double &value)=0 |
Set i-th parameter. More... | |
virtual std::string | shortName () const |
Get short name of minimizer - useful for say labels in guis. More... | |
virtual double | val () const =0 |
Calculate value of cost function. More... | |
virtual double | valAndDeriv (std::vector< double > &der) const =0 |
Calculate the value and the derivatives of the cost function. More... | |
virtual | ~ICostFunction ()=default |
Virtual destructor. More... | |
Protected Member Functions | |
void | calActiveCovarianceMatrix (EigenMatrix &covar, double epsrel) override |
Calculates covariance matrix for fitting function's active parameters. More... | |
std::vector< double > | getFitWeights (API::FunctionValues_sptr values) const override |
Return unit weights for all data points. More... | |
double | getResidualVariance () const |
Calculates the residual variance from the internally stored FunctionValues. More... | |
Protected Member Functions inherited from Mantid::CurveFitting::CostFunctions::CostFuncLeastSquares | |
void | addVal (API::FunctionDomain_sptr domain, API::FunctionValues_sptr values) const override |
Add a contribution to the cost function value from the fitting function evaluated on a particular domain. More... | |
void | addValDerivHessian (API::IFunction_sptr function, API::FunctionDomain_sptr domain, API::FunctionValues_sptr values, bool evalDeriv=true, bool evalHessian=true) const override |
Update the cost function, derivatives and hessian by adding values calculated on a domain. More... | |
void | calActiveCovarianceMatrix (EigenMatrix &covar, double epsrel=1e-8) override |
Calculates covariance matrix for fitting function's active parameters. More... | |
virtual std::vector< double > | getFitWeights (API::FunctionValues_sptr values) const |
Get mapped weights from FunctionValues. More... | |
Protected Member Functions inherited from Mantid::CurveFitting::CostFunctions::CostFuncFitting | |
virtual void | addVal (API::FunctionDomain_sptr domain, API::FunctionValues_sptr values) const =0 |
Increment to the cost function by evaluating it on a domain. More... | |
virtual void | addValDerivHessian (API::IFunction_sptr function, API::FunctionDomain_sptr domain, API::FunctionValues_sptr values, bool evalDeriv=true, bool evalHessian=true) const =0 |
Increments the cost function and its derivatives by evaluating them on a domain. More... | |
virtual void | calActiveCovarianceMatrix (EigenMatrix &covar, double epsrel=1e-8) |
Calculates covariance matrix for fitting function's active parameters. More... | |
void | calTransformationMatrixNumerically (EigenMatrix &tm) |
Calculate the transformation matrix T by numeric differentiation. More... | |
void | checkValidity () const |
Throw a runtime_error if function is invalid. More... | |
bool | isValid () const |
Is the function set and valid? More... | |
void | setDirty () |
Set all dirty flags. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Mantid::CurveFitting::CostFunctions::CostFuncLeastSquares | |
double | m_factor |
Protected Attributes inherited from Mantid::CurveFitting::CostFunctions::CostFuncFitting | |
EigenVector | m_der |
bool | m_dirtyDeriv |
dirty derivatives flag More... | |
bool | m_dirtyHessian |
dirty hessian flag More... | |
bool | m_dirtyVal |
dirty value flag More... | |
API::FunctionDomain_sptr | m_domain |
Shared pointer to the function domain. More... | |
API::IFunction_sptr | m_function |
Shared pointer to the fitting function. More... | |
EigenMatrix | m_hessian |
bool | m_includePenalty |
Flag to include constraint in cost function value. More... | |
std::vector< size_t > | m_indexMap |
maps the cost function's parameters to the ones of the fitting function. More... | |
size_t | m_numberFunParams |
Number of all parameters in the fitting function. More... | |
bool | m_pushed |
EigenVector | m_pushedParams |
double | m_pushedValue |
double | m_value |
API::FunctionValues_sptr | m_values |
Shared poinetr to the function values. More... | |
In contrast to CostFuncLeastSquares, this variant of the cost function assumes that there are no weights attached to the values, so all observations will have unit weights.
The covariance matrix is multiplied with the variance of the residuals.
Definition at line 26 of file CostFuncUnweightedLeastSquares.h.
Mantid::CurveFitting::CostFunctions::CostFuncUnweightedLeastSquares::CostFuncUnweightedLeastSquares | ( | ) |
Definition at line 21 of file CostFuncUnweightedLeastSquares.cpp.
|
overrideprotectedvirtual |
Calculates covariance matrix for fitting function's active parameters.
covar | :: Output cavariance matrix. |
epsrel | :: Tolerance. |
Reimplemented from Mantid::CurveFitting::CostFunctions::CostFuncLeastSquares.
Definition at line 23 of file CostFuncUnweightedLeastSquares.cpp.
References Mantid::CurveFitting::CostFunctions::CostFuncLeastSquares::calActiveCovarianceMatrix(), Mantid::Kernel::Logger::debug(), Mantid::API::g_log, Mantid::CurveFitting::EigenMatrix::get(), getResidualVariance(), Mantid::Kernel::Logger::is(), Mantid::CurveFitting::EigenMatrix::size1(), and Mantid::CurveFitting::EigenMatrix::size2().
|
overrideprotectedvirtual |
Return unit weights for all data points.
Reimplemented from Mantid::CurveFitting::CostFunctions::CostFuncLeastSquares.
Definition at line 47 of file CostFuncUnweightedLeastSquares.cpp.
|
protected |
Calculates the residual variance from the internally stored FunctionValues.
Definition at line 57 of file CostFuncUnweightedLeastSquares.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::API::g_log, Mantid::Kernel::Logger::is(), Mantid::CurveFitting::CostFunctions::CostFuncFitting::m_values, and Mantid::CurveFitting::CostFunctions::CostFuncFitting::nParams().
Referenced by calActiveCovarianceMatrix().
|
inlineoverridevirtual |
Get name of minimizer.
Reimplemented from Mantid::CurveFitting::CostFunctions::CostFuncLeastSquares.
Definition at line 30 of file CostFuncUnweightedLeastSquares.h.
|
inlineoverridevirtual |
Get short name of minimizer - useful for say labels in guis.
Reimplemented from Mantid::CurveFitting::CostFunctions::CostFuncLeastSquares.
Definition at line 31 of file CostFuncUnweightedLeastSquares.h.