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
|
<!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 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 no
Invariant Sections and no cover texts. A copy of the license is
included in the section entitled "GNU Free Documentation License". -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library – Reference Manual: Iteration of the Minimization Algorithm</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: Iteration of the Minimization Algorithm">
<meta name="keywords" content="GNU Scientific Library – Reference Manual: Iteration of the Minimization Algorithm">
<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="Nonlinear-Least_002dSquares-Fitting.html#Nonlinear-Least_002dSquares-Fitting" rel="up" title="Nonlinear Least-Squares Fitting">
<link href="Search-Stopping-Parameters-for-Minimization-Algorithms.html#Search-Stopping-Parameters-for-Minimization-Algorithms" rel="next" title="Search Stopping Parameters for Minimization Algorithms">
<link href="Finite-Difference-Jacobian.html#Finite-Difference-Jacobian" rel="previous" title="Finite Difference Jacobian">
<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="Iteration-of-the-Minimization-Algorithm"></a>
<div class="header">
<p>
Next: <a href="Search-Stopping-Parameters-for-Minimization-Algorithms.html#Search-Stopping-Parameters-for-Minimization-Algorithms" accesskey="n" rel="next">Search Stopping Parameters for Minimization Algorithms</a>, Previous: <a href="Finite-Difference-Jacobian.html#Finite-Difference-Jacobian" accesskey="p" rel="previous">Finite Difference Jacobian</a>, Up: <a href="Nonlinear-Least_002dSquares-Fitting.html#Nonlinear-Least_002dSquares-Fitting" accesskey="u" rel="up">Nonlinear Least-Squares Fitting</a> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Iteration-4"></a>
<h3 class="section">38.5 Iteration</h3>
<p>The following functions drive the iteration of each algorithm. Each
function performs one iteration to update the state of any solver of the
corresponding type. The same functions work for all solvers so that
different methods can be substituted at runtime without modifications to
the code.
</p>
<dl>
<dt><a name="index-gsl_005fmultifit_005ffsolver_005fiterate"></a>Function: <em>int</em> <strong>gsl_multifit_fsolver_iterate</strong> <em>(gsl_multifit_fsolver * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmultifit_005ffdfsolver_005fiterate"></a>Function: <em>int</em> <strong>gsl_multifit_fdfsolver_iterate</strong> <em>(gsl_multifit_fdfsolver * <var>s</var>)</em></dt>
<dd><p>These functions perform a single iteration of the solver <var>s</var>. If
the iteration encounters an unexpected problem then an error code will
be returned. The solver maintains a current estimate of the best-fit
parameters at all times.
</p></dd></dl>
<p>The solver struct <var>s</var> contains the following entries, which can
be used to track the progress of the solution:
</p>
<dl compact="compact">
<dt><code>gsl_vector * x</code></dt>
<dd><p>The current position.
</p>
</dd>
<dt><code>gsl_vector * f</code></dt>
<dd><p>The function value at the current position.
</p>
</dd>
<dt><code>gsl_vector * dx</code></dt>
<dd><p>The difference between the current position and the previous position,
i.e. the last step, taken as a vector.
</p>
</dd>
<dt><code>gsl_matrix * J</code></dt>
<dd><p>The Jacobian matrix at the current position (for the
<code>gsl_multifit_fdfsolver</code> struct only)
</p></dd>
</dl>
<p>The best-fit information also can be accessed with the following
auxiliary functions,
</p>
<dl>
<dt><a name="index-gsl_005fmultifit_005ffsolver_005fposition"></a>Function: <em>gsl_vector *</em> <strong>gsl_multifit_fsolver_position</strong> <em>(const gsl_multifit_fsolver * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005fmultifit_005ffdfsolver_005fposition"></a>Function: <em>gsl_vector *</em> <strong>gsl_multifit_fdfsolver_position</strong> <em>(const gsl_multifit_fdfsolver * <var>s</var>)</em></dt>
<dd><p>These functions return the current position (i.e. best-fit parameters)
<code>s->x</code> of the solver <var>s</var>.
</p></dd></dl>
</body>
</html>
|