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
|
<!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: Root Finding Iteration</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: Root Finding Iteration">
<meta name="keywords" content="GNU Scientific Library – Reference Manual: Root Finding 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-Root_002dFinding.html#One-dimensional-Root_002dFinding" rel="up" title="One dimensional Root-Finding">
<link href="Search-Stopping-Parameters.html#Search-Stopping-Parameters" rel="next" title="Search Stopping Parameters">
<link href="Search-Bounds-and-Guesses.html#Search-Bounds-and-Guesses" rel="previous" title="Search Bounds and Guesses">
<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="Root-Finding-Iteration"></a>
<div class="header">
<p>
Next: <a href="Search-Stopping-Parameters.html#Search-Stopping-Parameters" accesskey="n" rel="next">Search Stopping Parameters</a>, Previous: <a href="Search-Bounds-and-Guesses.html#Search-Bounds-and-Guesses" accesskey="p" rel="previous">Search Bounds and Guesses</a>, Up: <a href="One-dimensional-Root_002dFinding.html#One-dimensional-Root_002dFinding" accesskey="u" rel="up">One dimensional Root-Finding</a> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Iteration"></a>
<h3 class="section">33.6 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_005froot_005ffsolver_005fiterate"></a>Function: <em>int</em> <strong>gsl_root_fsolver_iterate</strong> <em>(gsl_root_fsolver * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005froot_005ffdfsolver_005fiterate"></a>Function: <em>int</em> <strong>gsl_root_fdfsolver_iterate</strong> <em>(gsl_root_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,
</p>
<dl compact="compact">
<dt><code>GSL_EBADFUNC</code></dt>
<dd><p>the iteration encountered a singular point where the function or its
derivative evaluated to <code>Inf</code> or <code>NaN</code>.
</p>
</dd>
<dt><code>GSL_EZERODIV</code></dt>
<dd><p>the derivative of the function vanished at the iteration point,
preventing the algorithm from continuing without a division by zero.
</p></dd>
</dl>
</dd></dl>
<p>The solver maintains a current best estimate of the root at all
times. The bracketing solvers also keep track of the current best
interval bounding the root. This information can be accessed with the
following auxiliary functions,
</p>
<dl>
<dt><a name="index-gsl_005froot_005ffsolver_005froot"></a>Function: <em>double</em> <strong>gsl_root_fsolver_root</strong> <em>(const gsl_root_fsolver * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005froot_005ffdfsolver_005froot"></a>Function: <em>double</em> <strong>gsl_root_fdfsolver_root</strong> <em>(const gsl_root_fdfsolver * <var>s</var>)</em></dt>
<dd><p>These functions return the current estimate of the root for the solver <var>s</var>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005froot_005ffsolver_005fx_005flower"></a>Function: <em>double</em> <strong>gsl_root_fsolver_x_lower</strong> <em>(const gsl_root_fsolver * <var>s</var>)</em></dt>
<dt><a name="index-gsl_005froot_005ffsolver_005fx_005fupper"></a>Function: <em>double</em> <strong>gsl_root_fsolver_x_upper</strong> <em>(const gsl_root_fsolver * <var>s</var>)</em></dt>
<dd><p>These functions return the current bracketing interval for the solver <var>s</var>.
</p></dd></dl>
</body>
</html>
|