Mantid
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
Mantid::CurveFitting::CostFunctions::CostFuncUnweightedLeastSquares Class Reference

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>

Inheritance diagram for Mantid::CurveFitting::CostFunctions::CostFuncUnweightedLeastSquares:
Mantid::CurveFitting::CostFunctions::CostFuncLeastSquares Mantid::CurveFitting::CostFunctions::CostFuncFitting Mantid::API::ICostFunction

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 EigenVectorgetDeriv () 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 EigenMatrixgetHessian () const
 Return cached or calculate the Hessian. More...
 
double getParameter (size_t i) const override
 Get i-th parameter. More...
 
void getParameters (EigenVector &params) 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 &params)
 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...
 

Detailed Description

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.

Author
Michael Wedel, Paul Scherrer Institut - SINQ
Date
03/03/2015

Definition at line 26 of file CostFuncUnweightedLeastSquares.h.

Constructor & Destructor Documentation

◆ CostFuncUnweightedLeastSquares()

Mantid::CurveFitting::CostFunctions::CostFuncUnweightedLeastSquares::CostFuncUnweightedLeastSquares ( )

Definition at line 21 of file CostFuncUnweightedLeastSquares.cpp.

Member Function Documentation

◆ calActiveCovarianceMatrix()

void Mantid::CurveFitting::CostFunctions::CostFuncUnweightedLeastSquares::calActiveCovarianceMatrix ( EigenMatrix covar,
double  epsrel 
)
overrideprotectedvirtual

◆ getFitWeights()

std::vector< double > Mantid::CurveFitting::CostFunctions::CostFuncUnweightedLeastSquares::getFitWeights ( API::FunctionValues_sptr  values) const
overrideprotectedvirtual

Return unit weights for all data points.

Reimplemented from Mantid::CurveFitting::CostFunctions::CostFuncLeastSquares.

Definition at line 47 of file CostFuncUnweightedLeastSquares.cpp.

◆ getResidualVariance()

double Mantid::CurveFitting::CostFunctions::CostFuncUnweightedLeastSquares::getResidualVariance ( ) const
protected

◆ name()

std::string Mantid::CurveFitting::CostFunctions::CostFuncUnweightedLeastSquares::name ( ) const
inlineoverridevirtual

Get name of minimizer.

Reimplemented from Mantid::CurveFitting::CostFunctions::CostFuncLeastSquares.

Definition at line 30 of file CostFuncUnweightedLeastSquares.h.

◆ shortName()

std::string Mantid::CurveFitting::CostFunctions::CostFuncUnweightedLeastSquares::shortName ( ) const
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.


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