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

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

Definition at line 155 of file GSLMultiRootSolver.h.

Public Member Functions

 GSLMultiRootSolver (const gsl_multiroot_fsolver_type *type, int n)
 Constructor from type and simension of system (number of functions).
 GSLMultiRootSolver (const GSLMultiRootSolver &)=delete
 GSLMultiRootSolver (GSLMultiRootSolver &&)=delete
 ~GSLMultiRootSolver () override
 Destructor (no operations).
void CreateSolver (const gsl_multiroot_fsolver_type *type, unsigned int n)
const doubleDx () const
 return function steps
const doubleFVal () const
 return function values
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
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
GSLMultiRootSolveroperator= (const GSLMultiRootSolver &rhs)=delete
GSLMultiRootSolveroperator= (GSLMultiRootSolver &&rhs)=delete
int SetSolver (const std::vector< ROOT::Math::IMultiGenFunction * > &funcVec, const double *x) override
 set the solver parameters
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

GSLMultiRootFunctionWrapper fFunctions
std::string fName
gsl_multiroot_fsolver * fSolver
gsl_vector * fVec

#include </home/stephan/code/root-2/math/mathmore/src/GSLMultiRootSolver.h>

Inheritance diagram for ROOT::Math::GSLMultiRootSolver:
ROOT::Math::GSLMultiRootBaseSolver

Constructor & Destructor Documentation

◆ GSLMultiRootSolver() [1/3]

ROOT::Math::GSLMultiRootSolver::GSLMultiRootSolver ( const gsl_multiroot_fsolver_type * type,
int n )
inline

Constructor from type and simension of system (number of functions).

Definition at line 162 of file GSLMultiRootSolver.h.

◆ ~GSLMultiRootSolver()

ROOT::Math::GSLMultiRootSolver::~GSLMultiRootSolver ( )
inlineoverride

Destructor (no operations).

Definition at line 173 of file GSLMultiRootSolver.h.

◆ GSLMultiRootSolver() [2/3]

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

◆ GSLMultiRootSolver() [3/3]

ROOT::Math::GSLMultiRootSolver::GSLMultiRootSolver ( GSLMultiRootSolver && )
delete

Member Function Documentation

◆ CreateSolver()

void ROOT::Math::GSLMultiRootSolver::CreateSolver ( const gsl_multiroot_fsolver_type * type,
unsigned int n )
inline

Definition at line 185 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::GSLMultiRootSolver::GetDx ( ) const
inlineoverridevirtual

return function steps

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 233 of file GSLMultiRootSolver.h.

◆ GetF()

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

return function values

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 227 of file GSLMultiRootSolver.h.

◆ GetRoot()

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

solution values at the current iteration

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 221 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::GSLMultiRootSolver::Iterate ( )
inlineoverridevirtual

perform an iteration

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 215 of file GSLMultiRootSolver.h.

◆ Name()

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

return name

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 211 of file GSLMultiRootSolver.h.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ SetSolver()

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

set the solver parameters

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 195 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

◆ fFunctions

GSLMultiRootFunctionWrapper ROOT::Math::GSLMultiRootSolver::fFunctions
private

Definition at line 241 of file GSLMultiRootSolver.h.

◆ fName

std::string ROOT::Math::GSLMultiRootSolver::fName
private

Definition at line 245 of file GSLMultiRootSolver.h.

◆ fSolver

gsl_multiroot_fsolver* ROOT::Math::GSLMultiRootSolver::fSolver
private

Definition at line 242 of file GSLMultiRootSolver.h.

◆ fVec

gsl_vector* ROOT::Math::GSLMultiRootSolver::fVec
mutableprivate

Definition at line 244 of file GSLMultiRootSolver.h.


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