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 255 of file GSLMultiRootSolver.h.

Public Member Functions

 GSLMultiRootDerivSolver (const gsl_multiroot_fdfsolver_type *type, int n)
 Constructor.
 
 GSLMultiRootDerivSolver (const GSLMultiRootDerivSolver &)=delete
 
 GSLMultiRootDerivSolver (GSLMultiRootDerivSolver &&)=delete
 
 ~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
 
const doubleDx () const
 return function steps
 
const doubleFVal () const
 return function values
 
gsl_vectorGetDx () const override
 return function steps
 
gsl_vectorGetF () const override
 return function values
 
gsl_vectorGetRoot () const override
 solution values at the current iteration
 
bool InitSolver (const std::vector< ROOT::Math::IMultiGenFunction * > &funcVec, const double *x)
 init the solver with function list and initial values
 
int Iterate () override
 perform an iteration
 
const std::string & Name () const override
 return name
 
GSLMultiRootDerivSolveroperator= (const GSLMultiRootDerivSolver &rhs)=delete
 
GSLMultiRootDerivSolveroperator= (GSLMultiRootDerivSolver &&rhs)=delete
 
int SetSolver (const std::vector< ROOT::Math::IMultiGenFunction * > &funcVec, const double *x) override
 set the solver parameters for the case of derivative
 
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 Attributes

GSLMultiRootDerivFunctionWrapper fDerivFunctions
 
gsl_multiroot_fdfsolverfDerivSolver
 
std::vector< ROOT::Math::IMultiGradFunction * > fGradFuncVec
 
std::string fName
 
gsl_vectorfVec
 

#include </github/home/ROOT-CI/src/math/mathmore/src/GSLMultiRootSolver.h>

Inheritance diagram for ROOT::Math::GSLMultiRootDerivSolver:
ROOT::Math::GSLMultiRootBaseSolver

Constructor & Destructor Documentation

◆ GSLMultiRootDerivSolver() [1/3]

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

Constructor.

Definition at line 262 of file GSLMultiRootSolver.h.

◆ ~GSLMultiRootDerivSolver()

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

Destructor (no operations)

Definition at line 273 of file GSLMultiRootSolver.h.

◆ GSLMultiRootDerivSolver() [2/3]

ROOT::Math::GSLMultiRootDerivSolver::GSLMultiRootDerivSolver ( const GSLMultiRootDerivSolver & )
delete

◆ GSLMultiRootDerivSolver() [3/3]

ROOT::Math::GSLMultiRootDerivSolver::GSLMultiRootDerivSolver ( GSLMultiRootDerivSolver && )
delete

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 285 of file GSLMultiRootSolver.h.

◆ Dx()

const double * ROOT::Math::GSLMultiRootBaseSolver::Dx ( ) const
inlineinherited

return function steps

Definition at line 110 of file GSLMultiRootSolver.h.

◆ FVal()

const double * ROOT::Math::GSLMultiRootBaseSolver::FVal ( ) const
inlineinherited

return function values

Definition at line 104 of file GSLMultiRootSolver.h.

◆ GetDx()

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

return function steps

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 343 of file GSLMultiRootSolver.h.

◆ GetF()

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

return function values

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 337 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 331 of file GSLMultiRootSolver.h.

◆ InitSolver()

bool ROOT::Math::GSLMultiRootBaseSolver::InitSolver ( const std::vector< ROOT::Math::IMultiGenFunction * > & funcVec,
const double * x )
inlineinherited

init the solver with function list and initial values

Definition at line 71 of file GSLMultiRootSolver.h.

◆ Iterate()

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

perform an iteration

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 325 of file GSLMultiRootSolver.h.

◆ Name()

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

return name

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 321 of file GSLMultiRootSolver.h.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

GSLMultiRootDerivSolver & ROOT::Math::GSLMultiRootDerivSolver::operator= ( GSLMultiRootDerivSolver && rhs)
delete

◆ 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 296 of file GSLMultiRootSolver.h.

◆ TestDelta()

int ROOT::Math::GSLMultiRootBaseSolver::TestDelta ( double absTol,
double relTol ) const
inlineinherited

test using abs and relative tolerance |dx| < absTol + relTol*|x| for every component

Definition at line 117 of file GSLMultiRootSolver.h.

◆ TestResidual()

int ROOT::Math::GSLMultiRootBaseSolver::TestResidual ( double absTol) const
inlineinherited

test using abs tolerance Sum |f|_i < absTol

Definition at line 126 of file GSLMultiRootSolver.h.

◆ X()

const double * ROOT::Math::GSLMultiRootBaseSolver::X ( ) const
inlineinherited

solution values at the current iteration

Definition at line 98 of file GSLMultiRootSolver.h.

Member Data Documentation

◆ fDerivFunctions

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

Definition at line 352 of file GSLMultiRootSolver.h.

◆ fDerivSolver

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

Definition at line 353 of file GSLMultiRootSolver.h.

◆ fGradFuncVec

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

Definition at line 356 of file GSLMultiRootSolver.h.

◆ fName

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

Definition at line 357 of file GSLMultiRootSolver.h.

◆ fVec

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

Definition at line 355 of file GSLMultiRootSolver.h.


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