Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::GSLMultiRootDerivSolver Class Reference

GSLMultiRootDerivSolver, internal class for implementing GSL multi-root finders using derivatives.

Definition at line 268 of file GSLMultiRootSolver.h.

Public Member Functions

 GSLMultiRootDerivSolver (const gsl_multiroot_fdfsolver_type *type, int n)
 Constructor.
 
 ~GSLMultiRootDerivSolver () override
 Destructor (no operations)
 
void CreateSolver (const gsl_multiroot_fdfsolver_type *type, unsigned int n)
 create the solver from the type and size of number of fitting points and number of parameters
 
gsl_vector * GetDx () const override
 return function steps
 
gsl_vector * GetF () const override
 return function values
 
gsl_vector * GetRoot () const override
 solution values at the current iteration
 
int Iterate () override
 perform an iteration
 
const std::string & Name () const override
 return name
 
int SetSolver (const std::vector< ROOT::Math::IMultiGenFunction * > &funcVec, const double *x) override
 set the solver parameters for the case of derivative
 
- Public Member Functions inherited from ROOT::Math::GSLMultiRootBaseSolver
virtual ~GSLMultiRootBaseSolver ()
 virtual Destructor
 
const doubleDx () const
 return function steps
 
const doubleFVal () const
 return function values
 
bool InitSolver (const std::vector< ROOT::Math::IMultiGenFunction * > &funcVec, const double *x)
 init the solver with function list and initial values
 
int TestDelta (double absTol, double relTol) const
 test using abs and relative tolerance |dx| < absTol + relTol*|x| for every component
 
int TestResidual (double absTol) const
 test using abs tolerance Sum |f|_i < absTol
 
const doubleX () const
 solution values at the current iteration
 

Private Member Functions

 GSLMultiRootDerivSolver (const GSLMultiRootDerivSolver &)
 Copy constructor.
 
GSLMultiRootDerivSolveroperator= (const GSLMultiRootDerivSolver &rhs)
 Assignment operator.
 

Private Attributes

GSLMultiRootDerivFunctionWrapper fDerivFunctions
 
gsl_multiroot_fdfsolver * fDerivSolver
 
std::vector< ROOT::Math::IMultiGradFunction * > fGradFuncVec
 
std::string fName
 
gsl_vector * fVec
 

#include </home/sftnight/build/workspace/root-makedoc-v628/rootspi/rdoc/src/v6-28-00-patches/math/mathmore/src/GSLMultiRootSolver.h>

Inheritance diagram for ROOT::Math::GSLMultiRootDerivSolver:
[legend]

Constructor & Destructor Documentation

◆ GSLMultiRootDerivSolver() [1/2]

ROOT::Math::GSLMultiRootDerivSolver::GSLMultiRootDerivSolver ( const gsl_multiroot_fdfsolver_type *  type,
int  n 
)
inline

Constructor.

Definition at line 275 of file GSLMultiRootSolver.h.

◆ ~GSLMultiRootDerivSolver()

ROOT::Math::GSLMultiRootDerivSolver::~GSLMultiRootDerivSolver ( )
inlineoverride

Destructor (no operations)

Definition at line 286 of file GSLMultiRootSolver.h.

◆ GSLMultiRootDerivSolver() [2/2]

ROOT::Math::GSLMultiRootDerivSolver::GSLMultiRootDerivSolver ( const GSLMultiRootDerivSolver )
inlineprivate

Copy constructor.

Definition at line 297 of file GSLMultiRootSolver.h.

Member Function Documentation

◆ CreateSolver()

void ROOT::Math::GSLMultiRootDerivSolver::CreateSolver ( const gsl_multiroot_fdfsolver_type *  type,
unsigned int  n 
)
inline

create the solver from the type and size of number of fitting points and number of parameters

Definition at line 312 of file GSLMultiRootSolver.h.

◆ GetDx()

gsl_vector * ROOT::Math::GSLMultiRootDerivSolver::GetDx ( ) const
inlineoverridevirtual

return function steps

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 370 of file GSLMultiRootSolver.h.

◆ GetF()

gsl_vector * ROOT::Math::GSLMultiRootDerivSolver::GetF ( ) const
inlineoverridevirtual

return function values

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 364 of file GSLMultiRootSolver.h.

◆ GetRoot()

gsl_vector * ROOT::Math::GSLMultiRootDerivSolver::GetRoot ( ) const
inlineoverridevirtual

solution values at the current iteration

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 358 of file GSLMultiRootSolver.h.

◆ Iterate()

int ROOT::Math::GSLMultiRootDerivSolver::Iterate ( )
inlineoverridevirtual

perform an iteration

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 352 of file GSLMultiRootSolver.h.

◆ Name()

const std::string & ROOT::Math::GSLMultiRootDerivSolver::Name ( ) const
inlineoverridevirtual

return name

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 348 of file GSLMultiRootSolver.h.

◆ operator=()

GSLMultiRootDerivSolver & ROOT::Math::GSLMultiRootDerivSolver::operator= ( const GSLMultiRootDerivSolver rhs)
inlineprivate

Assignment operator.

Definition at line 302 of file GSLMultiRootSolver.h.

◆ SetSolver()

int ROOT::Math::GSLMultiRootDerivSolver::SetSolver ( const std::vector< ROOT::Math::IMultiGenFunction * > &  funcVec,
const double x 
)
inlineoverridevirtual

set the solver parameters for the case of derivative

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 323 of file GSLMultiRootSolver.h.

Member Data Documentation

◆ fDerivFunctions

GSLMultiRootDerivFunctionWrapper ROOT::Math::GSLMultiRootDerivSolver::fDerivFunctions
private

Definition at line 379 of file GSLMultiRootSolver.h.

◆ fDerivSolver

gsl_multiroot_fdfsolver* ROOT::Math::GSLMultiRootDerivSolver::fDerivSolver
private

Definition at line 380 of file GSLMultiRootSolver.h.

◆ fGradFuncVec

std::vector<ROOT::Math::IMultiGradFunction*> ROOT::Math::GSLMultiRootDerivSolver::fGradFuncVec
private

Definition at line 383 of file GSLMultiRootSolver.h.

◆ fName

std::string ROOT::Math::GSLMultiRootDerivSolver::fName
private

Definition at line 384 of file GSLMultiRootSolver.h.

◆ fVec

gsl_vector* ROOT::Math::GSLMultiRootDerivSolver::fVec
mutableprivate

Definition at line 382 of file GSLMultiRootSolver.h.

  • math/mathmore/src/GSLMultiRootSolver.h