| [section:minima Locating Function Minima] |
| |
| [h4 synopsis] |
| |
| `` |
| #include <boost/math/tools/minima.hpp> |
| `` |
| |
| template <class F, class T> |
| std::pair<T, T> brent_find_minima(F f, T min, T max, int bits); |
| |
| template <class F, class T> |
| std::pair<T, T> brent_find_minima(F f, T min, T max, int bits, boost::uintmax_t& max_iter); |
| |
| [h4 Description] |
| |
| These two functions locate the minima of the continuous function /f/ using Brent's |
| algorithm. Parameters are: |
| |
| [variablelist |
| [[f] [The function to minimise. The function should be smooth over the |
| range \[min,max\], with no maxima occurring in that interval.]] |
| [[min] [The lower endpoint of the range in which to search |
| for the minima.]] |
| [[max] [The upper endpoint of the range in which to search |
| for the minima.]] |
| [[bits] [The number of bits precision to which the minima should be found. |
| Note that in principle, the minima can not be located to greater |
| accuracy than the square root of machine epsilon, therefore if /bits/ |
| is set to a value greater than one half of the bits in type T, then |
| the value will be ignored.]] |
| [[max_iter] [The maximum number of iterations to use |
| in the algorithm, if not provided the algorithm will just |
| keep on going until the minima is found.]] |
| ] |
| |
| [*Returns:] a pair containing the value of the abscissa at the minima and the value |
| of f(x) at the minima. |
| |
| [h4 Implementation] |
| |
| This is a reasonably faithful implementation of Brent's algorithm, refer |
| to: |
| |
| Brent, R.P. 1973, Algorithms for Minimization without Derivatives |
| (Englewood Cliffs, NJ: Prentice-Hall), Chapter 5. |
| |
| Numerical Recipes in C, The Art of Scientific Computing, |
| Second Edition, William H. Press, Saul A. Teukolsky, |
| William T. Vetterling, and Brian P. Flannery. |
| Cambridge University Press. 1988, 1992. |
| |
| An algorithm with guaranteed convergence for finding a zero |
| of a function, R. P. Brent, The Computer Journal, Vol 44, 1971. |
| |
| [endsect][/section:minima Locating Function Minima] |
| |
| [/ |
| Copyright 2006 John Maddock and Paul A. Bristow. |
| Distributed under the Boost Software License, Version 1.0. |
| (See accompanying file LICENSE_1_0.txt or copy at |
| http://www.boost.org/LICENSE_1_0.txt). |
| ] |
| |