15#include "RConfigure.h"
17#ifndef MATH_NO_PLUGIN_MANAGER
53#ifdef MATH_NO_PLUGIN_MANAGER
77 MATH_ERROR_MSG(
"RootFinder::SetMethod",
"RootFinderMethod type is not available in MathCore");
84 MATH_ERROR_MSG(
"RootFinder::SetMethod",
"RootFinderMethod type is not available in MathCore");
110 stype =
"Steffenson";
113 MATH_ERROR_MSG(
"RootFinder::SetMethod",
"RootFinderMethod type is not available in MathCore");
119 if ((
h =
gROOT->GetPluginManager()->FindHandler(
"ROOT::Math::IRootFinderMethod", stype.c_str() ))) {
120 if (
h->LoadPlugin() == -1) {
121 MATH_ERROR_MSG(
"RootFinder::SetMethod",
"Error loading RootFinderMethod");
129 MATH_ERROR_MSG(
"RootFinder::SetMethod",
"Error loading RootFinderMethod");
#define MATH_ERROR_MSG(loc, str)
Class for finding the root of a one dimensional function using the Brent algorithm.
Interface for finding function roots of one-dimensional functions.
bool SetMethod(RootFinder::EType type=RootFinder::kBRENT)
RootFinder(RootFinder::EType type=RootFinder::kBRENT)
Construct a Root-Finder algorithm.
IRootFinderMethod * fSolver
Roots::Bisection Bisection algorithm, simplest algorithm for bracketing the roots of a function,...
Brent-Dekker algorithm which combines an interpolation strategy with the bisection algorithm See the ...
False Position algorithm based on linear interpolation.
a Newton algorithm, which computes the derivative at each iteration See the GSL manual for more infor...
Secant algorithm, simplified version of Newton method, which does not require the derivative at every...
Steffenson method, providing the fastes convergence.
Namespace for new Math classes and functions.