1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The GSL Team.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Free Software
Needs Free Documentation", the Front-Cover text being "A GNU Manual",
and with the Back-Cover Text being (a) (see below). A copy of the
license is included in the section entitled "GNU Free Documentation
License".
(a) The Back-Cover Text is: "You have the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library – Reference Manual: Minimization Iteration</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: Minimization Iteration">
<meta name="keywords" content="GNU Scientific Library – Reference Manual: Minimization Iteration">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="One-dimensional-Minimization.html#One-dimensional-Minimization" rel="up" title="One dimensional Minimization">
<link href="Minimization-Stopping-Parameters.html#Minimization-Stopping-Parameters" rel="next" title="Minimization Stopping Parameters">
<link href="Providing-the-function-to-minimize.html#Providing-the-function-to-minimize" rel="previous" title="Providing the function to minimize">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Minimization-Iteration"></a>
<div class="header">
<p>
Next: <a href="Minimization-Stopping-Parameters.html#Minimization-Stopping-Parameters" accesskey="n" rel="next">Minimization Stopping Parameters</a>, Previous: <a href="Providing-the-function-to-minimize.html#Providing-the-function-to-minimize" accesskey="p" rel="previous">Providing the function to minimize</a>, Up: <a href="One-dimensional-Minimization.html#One-dimensional-Minimization" accesskey="u" rel="up">One dimensional Minimization</a> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Iteration-1"></a>
<h3 class="section">35.5 Iteration</h3>
<p>The following functions drive the iteration of each algorithm. Each
function performs one iteration to update the state of any minimizer of the
corresponding type. The same functions work for all minimizers so that
different methods can be substituted at runtime without modifications to
the code.
</p>
<dl>
<dt><a name="index-gsl_005fmin_005ffminimizer_005fiterate"></a>Function: <em>int</em> <strong>gsl_min_fminimizer_iterate</strong> <em>(gsl_min_fminimizer * <var>s</var>)</em></dt>
<dd><p>This function performs a single iteration of the minimizer <var>s</var>. If the
iteration encounters an unexpected problem then an error code will be
returned,
</p>
<dl compact="compact">
<dt><code>GSL_EBADFUNC</code></dt>
<dd><p>the iteration encountered a singular point where the function evaluated
to <code>Inf</code> or <code>NaN</code>.
</p>
</dd>
<dt><code>GSL_FAILURE</code></dt>
<dd><p>the algorithm could not improve the current best approximation or
bounding interval.
</p></dd>
</dl>
</dd></dl>
<p>The minimizer maintains a current best estimate of the position of the
minimum at all times, and the current interval bounding the minimum.
This information can be accessed with the following auxiliary functions,
</p>
<dl>
<dt><a name="index-gsl_005fmin_005ffminimizer_005fx_005fminimum"></a>Function: <em>double</em> <strong>gsl_min_fminimizer_x_minimum</strong> <em>(const gsl_min_fminimizer * <var>s</var>)</em></dt>
<dd><p>This function returns the current estimate of the position of the
minimum for the minimizer <var>s</var>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fmin_005ffminimizer_005fx_005fupper"></a>Function: <em>double</em> <strong>gsl_min_fminimizer_x_upper</strong> <em>(const gsl_min_fminimizer * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmin_005ffminimizer_005fx_005flower"></a>Function: <em>double</em> <strong>gsl_min_fminimizer_x_lower</strong> <em>(const gsl_min_fminimizer * <var>s</var>)</em></dt>
<dd><p>These functions return the current upper and lower bound of the interval
for the minimizer <var>s</var>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fmin_005ffminimizer_005ff_005fminimum"></a>Function: <em>double</em> <strong>gsl_min_fminimizer_f_minimum</strong> <em>(const gsl_min_fminimizer * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmin_005ffminimizer_005ff_005fupper"></a>Function: <em>double</em> <strong>gsl_min_fminimizer_f_upper</strong> <em>(const gsl_min_fminimizer * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmin_005ffminimizer_005ff_005flower"></a>Function: <em>double</em> <strong>gsl_min_fminimizer_f_lower</strong> <em>(const gsl_min_fminimizer * <var>s</var>)</em></dt>
<dd><p>These functions return the value of the function at the current estimate
of the minimum and at the upper and lower bounds of the interval for the
minimizer <var>s</var>.
</p></dd></dl>
</body>
</html>
|