ROOT  6.06/09
Reference Guide
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ROOT::Math::MinimTransformFunction Class Reference

MinimTransformFunction class to perform a transformations on the variables to deal with fixed or limited variables (support both double and single bounds) The class manages the passed function pointer.

Definition at line 43 of file MinimTransformFunction.h.

Public Types

typedef ROOT::Math::IMultiGradFunction BaseGradFunc
 
typedef ROOT::Math::IMultiGradFunction::BaseFunc BaseFunc
 
- Public Types inherited from ROOT::Math::IGradientFunctionMultiDim
typedef IBaseFunctionMultiDim BaseFunc
 
typedef IGradientMultiDim BaseGrad
 
- Public Types inherited from ROOT::Math::IBaseFunctionMultiDim
typedef IBaseFunctionMultiDim BaseFunc
 

Public Member Functions

 MinimTransformFunction (const IMultiGradFunction *f, const std::vector< ROOT::Math::EMinimVariableType > &types, const std::vector< double > &values, const std::map< unsigned int, std::pair< double, double > > &bounds)
 Constructor from a IMultiGradFunction interface (which is managed by the class) vector specifying the variable types (free, bounded or fixed, defined in enum EMinimVariableTypes ) variable values (used for the fixed ones) and a map with the bounds (for the bounded variables) More...
 
 ~MinimTransformFunction ()
 Destructor (delete function pointer) More...
 
unsigned int NDim () const
 Retrieve the dimension of the function. More...
 
unsigned int NTot () const
 
IMultiGenFunctionClone () const
 clone: not supported (since auto_ptr used in the fVariables) More...
 
const doubleTransformation (const double *x) const
 transform from internal to external result is cached also inside the class More...
 
void Transformation (const double *xint, double *xext) const
 transform from internal to external More...
 
void InvTransformation (const double *xext, double *xint) const
 inverse transformation (external -> internal) More...
 
void InvStepTransformation (const double *x, const double *sext, double *sint) const
 inverse transformation for steps (external -> internal) at external point x More...
 
void GradientTransformation (const double *x, const double *gExt, double *gInt) const
 transform gradient vector (external -> internal) at internal point x More...
 
void MatrixTransformation (const double *x, const double *covInt, double *covExt) const
 transform covariance matrix (internal -> external) at internal point x use row storages for matrices m(i,j) = rep[ i * dim + j] More...
 
const IMultiGradFunctionOriginalFunction () const
 
- Public Member Functions inherited from ROOT::Math::IGradientFunctionMultiDim
virtual ~IGradientFunctionMultiDim ()
 Virtual Destructor (no operations) More...
 
virtual void Gradient (const double *x, double *grad) const
 Evaluate all the vector of function derivatives (gradient) at a point x. More...
 
virtual void FdF (const double *x, double &f, double *df) const
 Optimized method to evaluate at the same time the function value and derivative at a point x. More...
 
- Public Member Functions inherited from ROOT::Math::IBaseFunctionMultiDim
 IBaseFunctionMultiDim ()
 
virtual ~IBaseFunctionMultiDim ()
 virtual destructor More...
 
double operator() (const double *x) const
 Evaluate the function at a point x[]. More...
 
- Public Member Functions inherited from ROOT::Math::IGradientMultiDim
virtual ~IGradientMultiDim ()
 virual destructor More...
 
double Derivative (const double *x, unsigned int icoord=0) const
 Return the partial derivative with respect to the passed coordinate. More...
 

Private Member Functions

virtual double DoEval (const double *x) const
 function evaluation More...
 
virtual double DoDerivative (const double *x, unsigned int icoord) const
 calculate derivatives More...
 
 MinimTransformFunction (const MinimTransformFunction &)
 
MinimTransformFunctionoperator= (const MinimTransformFunction &)
 

Private Attributes

std::vector< doublefX
 
std::vector< MinimTransformVariablefVariables
 
std::vector< unsigned int > fIndex
 
const IMultiGradFunctionfFunc
 

#include <Math/MinimTransformFunction.h>

+ Inheritance diagram for ROOT::Math::MinimTransformFunction:
+ Collaboration diagram for ROOT::Math::MinimTransformFunction:

Member Typedef Documentation

Definition at line 48 of file MinimTransformFunction.h.

Definition at line 47 of file MinimTransformFunction.h.

Constructor & Destructor Documentation

ROOT::Math::MinimTransformFunction::MinimTransformFunction ( const IMultiGradFunction f,
const std::vector< ROOT::Math::EMinimVariableType > &  types,
const std::vector< double > &  values,
const std::map< unsigned int, std::pair< double, double > > &  bounds 
)

Constructor from a IMultiGradFunction interface (which is managed by the class) vector specifying the variable types (free, bounded or fixed, defined in enum EMinimVariableTypes ) variable values (used for the fixed ones) and a map with the bounds (for the bounded variables)

Definition at line 23 of file MinimTransformFunction.cxx.

ROOT::Math::MinimTransformFunction::~MinimTransformFunction ( )
inline

Destructor (delete function pointer)

Definition at line 64 of file MinimTransformFunction.h.

ROOT::Math::MinimTransformFunction::MinimTransformFunction ( const MinimTransformFunction )
inlineprivate

Definition at line 132 of file MinimTransformFunction.h.

Member Function Documentation

IMultiGenFunction* ROOT::Math::MinimTransformFunction::Clone ( ) const
inlinevirtual

clone: not supported (since auto_ptr used in the fVariables)

Implements ROOT::Math::IBaseFunctionMultiDim.

Definition at line 76 of file MinimTransformFunction.h.

virtual double ROOT::Math::MinimTransformFunction::DoDerivative ( const double x,
unsigned int  icoord 
) const
inlineprivatevirtual

calculate derivatives

Implements ROOT::Math::IGradientMultiDim.

Definition at line 123 of file MinimTransformFunction.h.

virtual double ROOT::Math::MinimTransformFunction::DoEval ( const double x) const
inlineprivatevirtual

function evaluation

Implements ROOT::Math::IBaseFunctionMultiDim.

Definition at line 112 of file MinimTransformFunction.h.

void ROOT::Math::MinimTransformFunction::GradientTransformation ( const double x,
const double gExt,
double gInt 
) const

transform gradient vector (external -> internal) at internal point x

Definition at line 120 of file MinimTransformFunction.cxx.

void ROOT::Math::MinimTransformFunction::InvStepTransformation ( const double x,
const double sext,
double sint 
) const

inverse transformation for steps (external -> internal) at external point x

Definition at line 99 of file MinimTransformFunction.cxx.

Referenced by ROOT::Math::GSLSimAnMinimizer::Minimize(), and ROOT::Math::GSLMinimizer::Minimize().

void ROOT::Math::MinimTransformFunction::InvTransformation ( const double xext,
double xint 
) const

inverse transformation (external -> internal)

Definition at line 86 of file MinimTransformFunction.cxx.

void ROOT::Math::MinimTransformFunction::MatrixTransformation ( const double x,
const double covInt,
double covExt 
) const

transform covariance matrix (internal -> external) at internal point x use row storages for matrices m(i,j) = rep[ i * dim + j]

Definition at line 135 of file MinimTransformFunction.cxx.

unsigned int ROOT::Math::MinimTransformFunction::NDim ( ) const
inlinevirtual
unsigned int ROOT::Math::MinimTransformFunction::NTot ( ) const
inline
MinimTransformFunction& ROOT::Math::MinimTransformFunction::operator= ( const MinimTransformFunction )
inlineprivate

Definition at line 137 of file MinimTransformFunction.h.

const IMultiGradFunction* ROOT::Math::MinimTransformFunction::OriginalFunction ( ) const
inline

Definition at line 106 of file MinimTransformFunction.h.

Referenced by ROOT::Math::GSLSimAnMinimizer::NCalls().

const double* ROOT::Math::MinimTransformFunction::Transformation ( const double x) const
inline

transform from internal to external result is cached also inside the class

Definition at line 83 of file MinimTransformFunction.h.

Referenced by DoDerivative(), DoEval(), ROOT::Math::GSLMinimizer::Minimize(), and ROOT::Math::BasicMinimizer::SetFinalValues().

void ROOT::Math::MinimTransformFunction::Transformation ( const double xint,
double xext 
) const

transform from internal to external

Definition at line 62 of file MinimTransformFunction.cxx.

Member Data Documentation

const IMultiGradFunction* ROOT::Math::MinimTransformFunction::fFunc
private
std::vector<unsigned int> ROOT::Math::MinimTransformFunction::fIndex
private
std::vector<MinimTransformVariable> ROOT::Math::MinimTransformFunction::fVariables
private
std::vector<double> ROOT::Math::MinimTransformFunction::fX
mutableprivate

Definition at line 145 of file MinimTransformFunction.h.

Referenced by Transformation().


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