Logo ROOT  
Reference Guide
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) More...
 
virtual ~GSLMultiRootSolver ()
 Destructor (no operations) More...
 
void CreateSolver (const gsl_multiroot_fsolver_type *type, unsigned int n)
 
virtual gsl_vector * GetDx () const
 return function steps More...
 
virtual gsl_vector * GetF () const
 return function values More...
 
virtual gsl_vector * GetRoot () const
 solution values at the current iteration More...
 
virtual int Iterate ()
 perform an iteration More...
 
virtual const std::string & Name () const
 return name More...
 
virtual int SetSolver (const std::vector< ROOT::Math::IMultiGenFunction * > &funcVec, const double *x)
 set the solver parameters More...
 
- Public Member Functions inherited from ROOT::Math::GSLMultiRootBaseSolver
virtual ~GSLMultiRootBaseSolver ()
 virtual Destructor More...
 
const double * Dx () const
 return function steps More...
 
const double * FVal () const
 return function values More...
 
bool InitSolver (const std::vector< ROOT::Math::IMultiGenFunction * > &funcVec, const double *x)
 init the solver with function list and initial values More...
 
virtual int Iterate ()=0
 perform an iteration More...
 
virtual const std::string & Name () const =0
 return name More...
 
int TestDelta (double absTol, double relTol) const
 test using abs and relative tolerance |dx| < absTol + relTol*|x| for every component More...
 
int TestResidual (double absTol) const
 test using abs tolerance Sum |f|_i < absTol More...
 
const double * X () const
 solution values at the current iteration More...
 

Private Member Functions

 GSLMultiRootSolver (const GSLMultiRootSolver &)
 Copy constructor. More...
 
GSLMultiRootSolveroperator= (const GSLMultiRootSolver &rhs)
 Assignment operator. More...
 

Private Attributes

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

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

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

Constructor & Destructor Documentation

◆ GSLMultiRootSolver() [1/2]

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()

virtual ROOT::Math::GSLMultiRootSolver::~GSLMultiRootSolver ( )
inlinevirtual

Destructor (no operations)

Definition at line 173 of file GSLMultiRootSolver.h.

◆ GSLMultiRootSolver() [2/2]

ROOT::Math::GSLMultiRootSolver::GSLMultiRootSolver ( const GSLMultiRootSolver )
inlineprivate

Copy constructor.

Definition at line 184 of file GSLMultiRootSolver.h.

Member Function Documentation

◆ CreateSolver()

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

Definition at line 198 of file GSLMultiRootSolver.h.

◆ GetDx()

virtual gsl_vector * ROOT::Math::GSLMultiRootSolver::GetDx ( ) const
inlinevirtual

return function steps

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 246 of file GSLMultiRootSolver.h.

◆ GetF()

virtual gsl_vector * ROOT::Math::GSLMultiRootSolver::GetF ( ) const
inlinevirtual

return function values

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 240 of file GSLMultiRootSolver.h.

◆ GetRoot()

virtual gsl_vector * ROOT::Math::GSLMultiRootSolver::GetRoot ( ) const
inlinevirtual

solution values at the current iteration

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 234 of file GSLMultiRootSolver.h.

◆ Iterate()

virtual int ROOT::Math::GSLMultiRootSolver::Iterate ( )
inlinevirtual

perform an iteration

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 228 of file GSLMultiRootSolver.h.

◆ Name()

virtual const std::string & ROOT::Math::GSLMultiRootSolver::Name ( ) const
inlinevirtual

return name

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 224 of file GSLMultiRootSolver.h.

◆ operator=()

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

Assignment operator.

Definition at line 189 of file GSLMultiRootSolver.h.

◆ SetSolver()

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

set the solver parameters

Implements ROOT::Math::GSLMultiRootBaseSolver.

Definition at line 208 of file GSLMultiRootSolver.h.

Member Data Documentation

◆ fFunctions

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

Definition at line 254 of file GSLMultiRootSolver.h.

◆ fName

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

Definition at line 258 of file GSLMultiRootSolver.h.

◆ fSolver

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

Definition at line 255 of file GSLMultiRootSolver.h.

◆ fVec

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

Definition at line 257 of file GSLMultiRootSolver.h.


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