ROOT   Reference Guide
Searching...
No Matches
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) 2006 CERN *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. * 9 * For the list of contributors see$ROOTSYS/README/CREDITS. *
10 * *
11 **********************************************************************/
12
13// Header file for class Minimizer1D
14//
15// Created by: Maline at Fri Feb 1 11:30:26 2008
16//
17
18#ifndef ROOT_Math_IMinimizer1D
19#define ROOT_Math_IMinimizer1D
20
21/**
22
23 @defgroup Min1D One-dimensional Minimization
24 Classes for one-dimensional minimization
25 @ingroup NumAlgo
26 */
27
28namespace ROOT {
29namespace Math {
30
31//___________________________________________________________________________________________
32/**
33 Interface class for numerical methods for one-dimensional minimization
34
35 @ingroup Min1D
36
37 */
38
40
41 public:
42
44 virtual ~IMinimizer1D() {}
45
46 public:
47
48 /**
49 * Return current estimate of the position of the minimum
50 */
51 virtual double XMinimum() const = 0;
52
53 /**
54 * Return current lower bound of the minimization interval
55 */
56 virtual double XLower() const = 0;
57
58 /**
59 * Return current upper bound of the minimization interval
60 */
61 virtual double XUpper() const = 0;
62
63 /**
64 * Return function value at current estimate of the minimum
65 */
66 virtual double FValMinimum() const = 0;
67
68 /**
69 * Return function value at current lower bound of the minimization interval
70 */
71 virtual double FValLower() const = 0;
72
73 /**
74 * Return function value at current upper bound of the minimization interval
75 */
76 virtual double FValUpper() const = 0;
77
78 /**
79 * Find minimum position iterating until convergence specified by the absolute and relative tolerance or
80 * the maximum number of iteration is reached
81 * Return true if iterations converged successfully
82 * \@param maxIter maximum number of iteration
83 * \@param absTol desired absolute error in the minimum position
84 * \@param absTol desired relative error in the minimum position
85 */
86 virtual bool Minimize( int maxIter, double absTol, double relTol) = 0;
87
88 /**
89 * Return number of iteration used to find minimum
90 */
91 virtual int Iterations() const = 0;
92
93 /**
94 * Return name of minimization algorithm
95 */
96 virtual const char * Name() const = 0;
97
98 /** Returns the status of the previous estimate */
99 virtual int Status() const = 0;
100
101
102 }; // end class IMinimizer1D
103
104} // end namespace Math
105
106} // end namespace ROOT
107
108#endif /* ROOT_Math_IMinimizer1D */
Interface class for numerical methods for one-dimensional minimization.
virtual const char * Name() const =0
Return name of minimization algorithm.
virtual int Iterations() const =0
Return number of iteration used to find minimum.
virtual bool Minimize(int maxIter, double absTol, double relTol)=0
Find minimum position iterating until convergence specified by the absolute and relative tolerance or...
virtual double XLower() const =0
Return current lower bound of the minimization interval.
virtual double XUpper() const =0
Return current upper bound of the minimization interval.
virtual double FValMinimum() const =0
Return function value at current estimate of the minimum.
virtual double FValLower() const =0
Return function value at current lower bound of the minimization interval.
virtual double FValUpper() const =0
Return function value at current upper bound of the minimization interval.
virtual double XMinimum() const =0
Return current estimate of the position of the minimum.
virtual int Status() const =0
Returns the status of the previous estimate.
Namespace for new Math classes and functions.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.