File: Nonlinear-Least_002dSquares-TRS-Overview.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 (119 lines) | stat: -rw-r--r-- 8,232 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
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, 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 TRS Overview</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: Nonlinear Least-Squares TRS Overview">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: Nonlinear Least-Squares TRS Overview">
<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-TRS-Levenberg_002dMarquardt.html#Nonlinear-Least_002dSquares-TRS-Levenberg_002dMarquardt" rel="next" title="Nonlinear Least-Squares TRS Levenberg-Marquardt">
<link href="Nonlinear-Least_002dSquares-Overview.html#Nonlinear-Least_002dSquares-Overview" rel="previous" title="Nonlinear Least-Squares Overview">
<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-TRS-Overview"></a>
<div class="header">
<p>
Next: <a href="Nonlinear-Least_002dSquares-Weighted-Overview.html#Nonlinear-Least_002dSquares-Weighted-Overview" accesskey="n" rel="next">Nonlinear Least-Squares Weighted Overview</a>, Previous: <a href="Nonlinear-Least_002dSquares-Overview.html#Nonlinear-Least_002dSquares-Overview" accesskey="p" rel="previous">Nonlinear Least-Squares Overview</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="Solving-the-Trust-Region-Subproblem-_0028TRS_0029"></a>
<h3 class="section">39.2 Solving the Trust Region Subproblem (TRS)</h3>

<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="Nonlinear-Least_002dSquares-TRS-Levenberg_002dMarquardt.html#Nonlinear-Least_002dSquares-TRS-Levenberg_002dMarquardt" accesskey="1">Nonlinear Least-Squares TRS Levenberg-Marquardt</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Nonlinear-Least_002dSquares-TRS-Levenberg_002dMarquardt-with-Geodesic-Acceleration.html#Nonlinear-Least_002dSquares-TRS-Levenberg_002dMarquardt-with-Geodesic-Acceleration" accesskey="2">Nonlinear Least-Squares TRS Levenberg-Marquardt with Geodesic Acceleration</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Nonlinear-Least_002dSquares-TRS-Dogleg.html#Nonlinear-Least_002dSquares-TRS-Dogleg" accesskey="3">Nonlinear Least-Squares TRS Dogleg</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Nonlinear-Least_002dSquares-TRS-Double-Dogleg.html#Nonlinear-Least_002dSquares-TRS-Double-Dogleg" accesskey="4">Nonlinear Least-Squares TRS Double Dogleg</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Nonlinear-Least_002dSquares-TRS-2D-Subspace.html#Nonlinear-Least_002dSquares-TRS-2D-Subspace" accesskey="5">Nonlinear Least-Squares TRS 2D Subspace</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Nonlinear-Least_002dSquares-TRS-Steihaug_002dToint-Conjugate-Gradient.html#Nonlinear-Least_002dSquares-TRS-Steihaug_002dToint-Conjugate-Gradient" accesskey="6">Nonlinear Least-Squares TRS Steihaug-Toint Conjugate Gradient</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
</table>

<p>Below we describe the methods available for solving the trust region
subproblem. The methods available provide either exact or approximate
solutions to the trust region subproblem. In all algorithms below,
the Hessian matrix <em>B_k</em> is approximated as <em>B_k \approx J_k^T J_k</em>,
where <em>J_k = J(x_k)</em>. In all methods, the solution of the TRS
involves solving a linear least squares system involving the Jacobian
matrix. For small to moderate sized problems (<code>gsl_multifit_nlinear</code> interface),
this is accomplished by factoring the full Jacobian matrix, which is provided
by the user, with the Cholesky, QR, or SVD decompositions. For large systems
(<code>gsl_multilarge_nlinear</code> interface), the user has two choices. One
is to solve the system iteratively, without needing to store the full
Jacobian matrix in memory. With this method, the user must provide a routine
to calculate the matrix-vector products <em>J u</em> or <em>J^T u</em> for a given vector <em>u</em>.
This iterative method is particularly useful for systems where the Jacobian has
sparse structure, since forming matrix-vector products can be done cheaply. The
second option for large systems involves forming the normal equations matrix
<em>J^T J</em> and then factoring it using a Cholesky decomposition. The normal
equations matrix is <em>p</em>-by-<em>p</em>, typically much smaller than the full
<em>n</em>-by-<em>p</em> Jacobian, and can usually be stored in memory even if the full
Jacobian matrix cannot. This option is useful for large, dense systems, or if the
iterative method has difficulty converging.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Nonlinear-Least_002dSquares-Weighted-Overview.html#Nonlinear-Least_002dSquares-Weighted-Overview" accesskey="n" rel="next">Nonlinear Least-Squares Weighted Overview</a>, Previous: <a href="Nonlinear-Least_002dSquares-Overview.html#Nonlinear-Least_002dSquares-Overview" accesskey="p" rel="previous">Nonlinear Least-Squares Overview</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>



</body>
</html>