00001 /* LIBGUL - Geometry Utility Library
00002 * Copyright (C) 1998-1999 Norbert Irmer
00003 *
00004 * This library is free software; you can redistribute it and/or
00005 * modify it under the terms of the GNU Library General Public
00006 * License as published by the Free Software Foundation; either
00007 * version 2 of the License, or (at your option) any later version.
00008 *
00009 * This library is distributed in the hope that it will be useful,
00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00012 * Library General Public License for more details.
00013 *
00014 * You should have received a copy of the GNU Library General Public
00015 * License along with this library; if not, write to the
00016 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00017 * Boston, MA 02111-1307, USA.
00018 */
00019
00020
00021 #ifndef GUMA_MINIMIZE_H
00022 #define GUMA_MINIMIZE_H
00023
00024 namespace guma {
00025
00026 /*-------------------------------------------------------------------------*//**
00027 Searches the minimum of a function, defined over an intervall.
00028 uses Golden Section search (a three point bracketing method),
00029 see "Numerical recipes in C",
00030 intervall: ax < bx < cx,
00031 function values: f(ax) > f(bx) < f(cx) */
00032 /*----------------------------------------------------------------------------*/
00033 template< class T >
00034 bool GoldenSectionSearch( T ax, T bx, T cx, T (*func)( T, void * ), void *fdat,
00035 T tol, int max_iterations, T *xmin, T *fmin );
00036
00037
00038 }
00039
00040 #endif
00041
00042
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001