 ROOT   Reference Guide exampleMultiRoot.C File Reference

## Detailed Description  Example of using multiroot finder based on GSL algorithm.

Find the root of Rosenbrock system of equations:

$f1(x,y) = a(1-x)$

$f2(x,y) = b(y-x^2)$

with:

$a = 1, b=10$

The MultiRootFinder is based on GSL and it requires the MathMore library installed

Usage:

>.x exampleMultiRoot.C()

or

>.x exampleMultiRoot(algoname,printlevel)

where algoname is for an algorithm not using the derivatives: hybridS (default) , hybrid, dnewton, broyden

GSLMultiRootFinder::Solve:hybrids max iterations 100 and tolerance 1e-06
GSL Algorithm used is : hybrids
Number of iterations = 19
Root values = x = 1 x = 1
Function values = f = 0 f = -6.17162e-11
#include "RConfigure.h"
#ifdef R__HAS_MATHMORE
#else
#error libMathMore is not available - cannot run this tutorial
#endif
#include "TF2.h"
#include "TError.h"
// example of using multi root finder based on GSL
// need to use an algorithm not requiring the derivative
//like hybrids (default), hybrid, dnewton, broyden
using namespace ROOT::Math;
void exampleMultiRoot(const char * algo = 0, int printlevel = 1) {
//defining the function
// use Rosenbrock functions
TF2 * f1 = new TF2("f1","*(1-x)+*y");
TF2 * f2 = new TF2("f2","*(y-x*x)");
f2->SetParameter(0,10);
// wrap the functions
r.SetPrintLevel(printlevel);
// starting point
double x0={-1,-1};
r.Solve(x0);
}
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Class for Multidimensional root finding algorithms bassed on GSL.
Class to Wrap a ROOT Function class (like TF1) in a IParamMultiFunction interface of multi-dimensions...
virtual void SetParameters(const Double_t *params)
Definition: TF1.h:649
virtual void SetParameter(Int_t param, Double_t value)
Definition: TF1.h:639
A 2-Dim function with parameters.
Definition: TF2.h:29
TF1 * f1
Definition: legend1.C:11

Definition in file exampleMultiRoot.C.