ROOT
git-r3/HEAD
Reference Guide
Loading...
Searching...
No Matches
RootFinderAlgorithms.h
Go to the documentation of this file.
1
// @(#)root/mathmore:$Id$
2
// Author: L. Moneta, A. Zsenei 08/2005
3
4
/**********************************************************************
5
* *
6
* Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT *
7
* *
8
* This library is free software; you can redistribute it and/or *
9
* modify it under the terms of the GNU General Public License *
10
* as published by the Free Software Foundation; either version 2 *
11
* of the License, or (at your option) any later version. *
12
* *
13
* This library is distributed in the hope that it will be useful, *
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
16
* General Public License for more details. *
17
* *
18
* You should have received a copy of the GNU General Public License *
19
* along with this library (see file COPYING); if not, write *
20
* to the Free Software Foundation, Inc., 59 Temple Place, Suite *
21
* 330, Boston, MA 02111-1307 USA, or contact the author. *
22
* *
23
**********************************************************************/
24
25
// Header file for GSL ROOT Finder Algorithms
26
//
27
// Created by: moneta at Sun Nov 14 14:07:50 2004
28
//
29
// Last update: Sun Nov 14 14:07:50 2004
30
//
31
#ifndef ROOT_Math_GSLRootFinderAlgorithms
32
#define ROOT_Math_GSLRootFinderAlgorithms
33
34
35
#include "
Math/GSLRootFinder.h
"
36
37
#include "
Math/GSLRootFinderDeriv.h
"
38
39
namespace
ROOT
{
40
namespace
Math
{
41
42
/**
43
Root-Finding Algorithms
44
45
*/
46
47
namespace
Roots
{
48
49
//________________________________________________________________________________________________________
50
/**
51
Roots::Bisection
52
Bisection algorithm, simplest algorithm for bracketing the roots of a function, but slowest one.
53
See the <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Root-Bracketing-Algorithms.html">GSL manual</A> for more information
54
@ingroup RootFinders
55
*/
56
57
class
Bisection
:
public
GSLRootFinder
{
58
59
public
:
60
61
Bisection
();
62
~Bisection
()
override
;
63
};
64
65
//________________________________________________________________________________________________________
66
/**
67
False Position algorithm based on linear interpolation.
68
See the <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Root-Bracketing-Algorithms.html">GSL manual</A> for more information
69
@ingroup RootFinders
70
*/
71
72
class
FalsePos
:
public
GSLRootFinder
{
73
74
public
:
75
76
FalsePos
();
77
~FalsePos
()
override
;
78
};
79
80
81
82
//________________________________________________________________________________________________________
83
/**
84
Brent-Dekker algorithm which combines an interpolation strategy with the bisection algorithm
85
See the <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Root-Bracketing-Algorithms.html">
86
GSL manual</A> for more information
87
88
@ingroup RootFinders
89
*/
90
91
class
Brent
:
public
GSLRootFinder
{
92
93
public
:
94
95
Brent
();
96
~Brent
()
override
;
97
};
98
99
100
//----------------------------------------------------------------------
101
// algorithm with derivatives
102
//----------------------------------------------------------------------
103
104
//________________________________________________________________________________________________________
105
/**
106
a Newton algorithm, which computes the derivative at each iteration
107
See the <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Root-Finding-Algorithms-using-Derivatives.html">
108
GSL manual</A> for more information
109
110
@ingroup RootFinders
111
*/
112
113
class
Newton
:
public
GSLRootFinderDeriv
{
114
115
public
:
116
117
Newton
();
118
~Newton
()
override
;
119
};
120
121
122
//________________________________________________________________________________________________________
123
/**
124
\a Secant algorithm, simplified version of Newton method, which does not require the derivative at every step.
125
See the <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Root-Finding-Algorithms-using-Derivatives.html">
126
GSL manual</A> for more information
127
@ingroup RootFinders
128
*/
129
130
class
Secant
:
public
GSLRootFinderDeriv
{
131
132
public
:
133
134
Secant
();
135
~Secant
()
override
;
136
};
137
138
//________________________________________________________________________________________________________
139
/**
140
\a Steffenson method, providing the fastes convergence.
141
See the <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Root-Finding-Algorithms-using-Derivatives.html">
142
GSL manual</A> for more information
143
144
@ingroup RootFinders
145
*/
146
147
class
Steffenson
:
public
GSLRootFinderDeriv
{
148
149
public
:
150
151
Steffenson
();
152
~Steffenson
()
override
;
153
};
154
155
156
}
157
158
}
// namespace Math
159
}
// namespace ROOT
160
161
162
#endif
/* ROOT_Math_GSLRootFinderAlgorithms */
GSLRootFinderDeriv.h
GSLRootFinder.h
ROOT::Math::GSLRootFinderDeriv::GSLRootFinderDeriv
GSLRootFinderDeriv()
Definition
GSLRootFinderDeriv.cxx:48
ROOT::Math::GSLRootFinder::GSLRootFinder
GSLRootFinder()
Definition
GSLRootFinder.cxx:49
ROOT::Math::Roots::Bisection::Bisection
Bisection()
Definition
RootFinderAlgorithms.cxx:46
ROOT::Math::Roots::Bisection::~Bisection
~Bisection() override
Definition
RootFinderAlgorithms.cxx:53
ROOT::Math::Roots::Brent::Brent
Brent()
Definition
RootFinderAlgorithms.cxx:76
ROOT::Math::Roots::Brent::~Brent
~Brent() override
Definition
RootFinderAlgorithms.cxx:83
ROOT::Math::Roots::FalsePos::FalsePos
FalsePos()
Definition
RootFinderAlgorithms.cxx:61
ROOT::Math::Roots::FalsePos::~FalsePos
~FalsePos() override
Definition
RootFinderAlgorithms.cxx:68
ROOT::Math::Roots::Newton::~Newton
~Newton() override
Definition
RootFinderAlgorithms.cxx:103
ROOT::Math::Roots::Newton::Newton
Newton()
Definition
RootFinderAlgorithms.cxx:96
ROOT::Math::Roots::Secant::~Secant
~Secant() override
Definition
RootFinderAlgorithms.cxx:118
ROOT::Math::Roots::Secant::Secant
Secant()
Definition
RootFinderAlgorithms.cxx:111
ROOT::Math::Roots::Steffenson::~Steffenson
~Steffenson() override
Definition
RootFinderAlgorithms.cxx:133
ROOT::Math::Roots::Steffenson::Steffenson
Steffenson()
Definition
RootFinderAlgorithms.cxx:126
ROOT::Math::Roots
Root-Finding Algorithms.
Definition
RootFinderAlgorithms.h:47
ROOT::Math
Definition
HFitInterface.h:32
ROOT
Definition
EExecutionPolicy.hxx:4
math
mathmore
inc
Math
RootFinderAlgorithms.h
ROOTgit-r3/HEAD - Reference Guide Generated on
(GVA Time) using Doxygen 1.16.1