ROOT
6.30.04
Reference Guide
All
Namespaces
Files
Pages
IMinimizer1D.h
Go to the documentation of this file.
1
// @(#)root/mathcore:$Id$
2
// Author: David Gonzalez Maline 2/2008
3
/**********************************************************************
4
* *
5
* Copyright (c) 2004 Maline, CERN/PH-SFT *
6
* *
7
* This library is free software; you can redistribute it and/or *
8
* modify it under the terms of the GNU General Public License *
9
* as published by the Free Software Foundation; either version 2 *
10
* of the License, or (at your option) any later version. *
11
* *
12
* This library is distributed in the hope that it will be useful, *
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
15
* General Public License for more details. *
16
* *
17
* You should have received a copy of the GNU General Public License *
18
* along with this library (see file COPYING); if not, write *
19
* to the Free Software Foundation, Inc., 59 Temple Place, Suite *
20
* 330, Boston, MA 02111-1307 USA, or contact the author. *
21
* *
22
**********************************************************************/
23
24
// Header file for class Minimizer1D
25
//
26
// Created by: Maline at Fri Feb 1 11:30:26 2008
27
//
28
29
#ifndef ROOT_Math_IMinimizer1D
30
#define ROOT_Math_IMinimizer1D
31
32
/**
33
34
@defgroup Min1D One-dimensional Minimization
35
Classes for one-dimensional minimization
36
@ingroup NumAlgo
37
*/
38
39
namespace
ROOT {
40
namespace
Math {
41
42
//___________________________________________________________________________________________
43
/**
44
Interface class for numerical methods for one-dimensional minimization
45
46
@ingroup Min1D
47
48
*/
49
50
class
IMinimizer1D {
51
52
public
:
53
54
IMinimizer1D() {}
55
virtual
~IMinimizer1D() {}
56
57
public
:
58
59
/**
60
* Return current estimate of the position of the minimum
61
*/
62
virtual
double
XMinimum()
const
= 0;
63
64
/**
65
* Return current lower bound of the minimization interval
66
*/
67
virtual
double
XLower()
const
= 0;
68
69
/**
70
* Return current upper bound of the minimization interval
71
*/
72
virtual
double
XUpper()
const
= 0;
73
74
/**
75
* Return function value at current estimate of the minimum
76
*/
77
virtual
double
FValMinimum()
const
= 0;
78
79
/**
80
* Return function value at current lower bound of the minimization interval
81
*/
82
virtual
double
FValLower()
const
= 0;
83
84
/**
85
* Return function value at current upper bound of the minimization interval
86
*/
87
virtual
double
FValUpper()
const
= 0;
88
89
/**
90
* Find minimum position iterating until convergence specified by the absolute and relative tolerance or
91
* the maximum number of iteration is reached
92
* Return true if iterations converged successfully
93
* \@param maxIter maximum number of iteration
94
* \@param absTol desired absolute error in the minimum position
95
* \@param absTol desired relative error in the minimum position
96
*/
97
virtual
bool
Minimize(
int
maxIter,
double
absTol,
double
relTol) = 0;
98
99
/**
100
* Return number of iteration used to find minimum
101
*/
102
virtual
int
Iterations()
const
= 0;
103
104
/**
105
* Return name of minimization algorithm
106
*/
107
virtual
const
char
* Name()
const
= 0;
108
109
/** Returns the status of the previous estimate */
110
virtual
int
Status()
const
= 0;
111
112
113
};
// end class IMinimizer1D
114
115
}
// end namespace Math
116
117
}
// end namespace ROOT
118
119
#endif
/* ROOT_Math_IMinimizer1D */
math
mathcore
inc
Math
IMinimizer1D.h
Generated on Tue May 5 2020 14:03:01 for ROOT by
1.8.5