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
|
<!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: Multimin Iteration</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: Multimin Iteration">
<meta name="keywords" content="GNU Scientific Library – Reference Manual: Multimin 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="Multidimensional-Minimization.html#Multidimensional-Minimization" rel="up" title="Multidimensional Minimization">
<link href="Multimin-Stopping-Criteria.html#Multimin-Stopping-Criteria" rel="next" title="Multimin Stopping Criteria">
<link href="Providing-a-function-to-minimize.html#Providing-a-function-to-minimize" rel="previous" title="Providing a 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="Multimin-Iteration"></a>
<div class="header">
<p>
Next: <a href="Multimin-Stopping-Criteria.html#Multimin-Stopping-Criteria" accesskey="n" rel="next">Multimin Stopping Criteria</a>, Previous: <a href="Providing-a-function-to-minimize.html#Providing-a-function-to-minimize" accesskey="p" rel="previous">Providing a function to minimize</a>, Up: <a href="Multidimensional-Minimization.html#Multidimensional-Minimization" accesskey="u" rel="up">Multidimensional Minimization</a> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Iteration-3"></a>
<h3 class="section">37.5 Iteration</h3>
<p>The following function drives the iteration of each algorithm. The
function performs one iteration to update the state of the minimizer.
The same function works for all minimizers so that different methods can
be substituted at runtime without modifications to the code.
</p>
<dl>
<dt><a name="index-gsl_005fmultimin_005ffdfminimizer_005fiterate"></a>Function: <em>int</em> <strong>gsl_multimin_fdfminimizer_iterate</strong> <em>(gsl_multimin_fdfminimizer * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmultimin_005ffminimizer_005fiterate"></a>Function: <em>int</em> <strong>gsl_multimin_fminimizer_iterate</strong> <em>(gsl_multimin_fminimizer * <var>s</var>)</em></dt>
<dd><p>These functions perform a single iteration of the minimizer <var>s</var>.
If the iteration encounters an unexpected problem then an error code
will be returned. The error code <code>GSL_ENOPROG</code> signifies that
the minimizer is unable to improve on its current estimate, either due
to numerical difficulty or because a genuine local minimum has been
reached.
</p></dd></dl>
<p>The minimizer maintains a current best estimate of the minimum at all
times. This information can be accessed with the following auxiliary
functions,
</p>
<dl>
<dt><a name="index-gsl_005fmultimin_005ffdfminimizer_005fx"></a>Function: <em>gsl_vector *</em> <strong>gsl_multimin_fdfminimizer_x</strong> <em>(const gsl_multimin_fdfminimizer * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmultimin_005ffminimizer_005fx"></a>Function: <em>gsl_vector *</em> <strong>gsl_multimin_fminimizer_x</strong> <em>(const gsl_multimin_fminimizer * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmultimin_005ffdfminimizer_005fminimum"></a>Function: <em>double</em> <strong>gsl_multimin_fdfminimizer_minimum</strong> <em>(const gsl_multimin_fdfminimizer * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmultimin_005ffminimizer_005fminimum"></a>Function: <em>double</em> <strong>gsl_multimin_fminimizer_minimum</strong> <em>(const gsl_multimin_fminimizer * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmultimin_005ffdfminimizer_005fgradient"></a>Function: <em>gsl_vector *</em> <strong>gsl_multimin_fdfminimizer_gradient</strong> <em>(const gsl_multimin_fdfminimizer * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmultimin_005ffdfminimizer_005fdx"></a>Function: <em>gsl_vector *</em> <strong>gsl_multimin_fdfminimizer_dx</strong> <em>(const gsl_multimin_fdfminimizer * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmultimin_005ffminimizer_005fsize"></a>Function: <em>double</em> <strong>gsl_multimin_fminimizer_size</strong> <em>(const gsl_multimin_fminimizer * <var>s</var>)</em></dt>
<dd><p>These functions return the current best estimate of the location of the
minimum, the value of the function at that point, its gradient, the last
step increment of the estimate, and minimizer specific characteristic size for the minimizer <var>s</var>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fmultimin_005ffdfminimizer_005frestart"></a>Function: <em>int</em> <strong>gsl_multimin_fdfminimizer_restart</strong> <em>(gsl_multimin_fdfminimizer * <var>s</var>)</em></dt>
<dd><p>This function resets the minimizer <var>s</var> to use the current point as a
new starting point.
</p></dd></dl>
</body>
</html>
|