File: Nonlinear-Least_002dSquares-High-Level-Driver.html

package info (click to toggle)
gsl-ref-html 2.3-1
  • links: PTS
  • area: non-free
  • in suites: bullseye, buster, sid
  • size: 6,876 kB
  • ctags: 4,574
  • sloc: makefile: 35
file content (102 lines) | stat: -rw-r--r-- 6,660 bytes parent folder | download
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
<!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 &ndash; Reference Manual: Nonlinear Least-Squares High Level Driver</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: Nonlinear Least-Squares High Level Driver">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: Nonlinear Least-Squares High Level Driver">
<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="Nonlinear-Least_002dSquares-Covariance-Matrix.html#Nonlinear-Least_002dSquares-Covariance-Matrix" rel="next" title="Nonlinear Least-Squares Covariance Matrix">
<link href="Nonlinear-Least_002dSquares-Testing-for-Convergence.html#Nonlinear-Least_002dSquares-Testing-for-Convergence" rel="previous" title="Nonlinear Least-Squares Testing for Convergence">
<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="Nonlinear-Least_002dSquares-High-Level-Driver"></a>
<div class="header">
<p>
Next: <a href="Nonlinear-Least_002dSquares-Covariance-Matrix.html#Nonlinear-Least_002dSquares-Covariance-Matrix" accesskey="n" rel="next">Nonlinear Least-Squares Covariance Matrix</a>, Previous: <a href="Nonlinear-Least_002dSquares-Testing-for-Convergence.html#Nonlinear-Least_002dSquares-Testing-for-Convergence" accesskey="p" rel="previous">Nonlinear Least-Squares Testing for Convergence</a>, Up: <a href="Nonlinear-Least_002dSquares-Fitting.html#Nonlinear-Least_002dSquares-Fitting" accesskey="u" rel="up">Nonlinear Least-Squares Fitting</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="High-Level-Driver"></a>
<h3 class="section">39.9 High Level Driver</h3>

<p>These routines provide a high level wrapper that combines the iteration
and convergence testing for easy use.
</p>
<dl>
<dt><a name="index-gsl_005fmultifit_005fnlinear_005fdriver"></a>Function: <em>int</em> <strong>gsl_multifit_nlinear_driver</strong> <em>(const size_t <var>maxiter</var>, const double <var>xtol</var>, const double <var>gtol</var>, const double <var>ftol</var>, void (* <var>callback</var>)(const size_t <var>iter</var>, void * <var>params</var>, const gsl_multifit_linear_workspace * <var>w</var>), void * <var>callback_params</var>, int * <var>info</var>, gsl_multifit_nlinear_workspace * <var>w</var>)</em></dt>
<dt><a name="index-gsl_005fmultilarge_005fnlinear_005fdriver"></a>Function: <em>int</em> <strong>gsl_multilarge_nlinear_driver</strong> <em>(const size_t <var>maxiter</var>, const double <var>xtol</var>, const double <var>gtol</var>, const double <var>ftol</var>, void (* <var>callback</var>)(const size_t <var>iter</var>, void * <var>params</var>, const gsl_multilarge_linear_workspace * <var>w</var>), void * <var>callback_params</var>, int * <var>info</var>, gsl_multilarge_nlinear_workspace * <var>w</var>)</em></dt>
<dd><p>These functions iterate the nonlinear least squares solver <var>w</var> for a
maximum of <var>maxiter</var> iterations. After each iteration, the system is
tested for convergence with the error tolerances <var>xtol</var>, <var>gtol</var> and <var>ftol</var>.
Additionally, the user may supply a callback function <var>callback</var>
which is called after each iteration, so that the user may save or print
relevant quantities for each iteration. The parameter <var>callback_params</var>
is passed to the <var>callback</var> function. The parameters <var>callback</var>
and <var>callback_params</var> may be set to NULL to disable this feature.
Upon successful convergence, the function returns <code>GSL_SUCCESS</code>
and sets <var>info</var> to the reason for convergence (see
<code>gsl_multifit_nlinear_test</code>). If the function has not
converged after <var>maxiter</var> iterations, <code>GSL_EMAXITER</code> is
returned. In rare cases, during an iteration the algorithm may
be unable to find a new acceptable step <em>\delta</em> to take. In
this case, <code>GSL_ENOPROG</code> is returned indicating no further
progress can be made. If your problem is having difficulty converging,
see <a href="Nonlinear-Least_002dSquares-Troubleshooting.html#Nonlinear-Least_002dSquares-Troubleshooting">Nonlinear Least-Squares Troubleshooting</a> for further guidance.
</p></dd></dl>




</body>
</html>