File: Large-Dense-Linear-Systems.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 (142 lines) | stat: -rw-r--r-- 7,782 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<!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: Large Dense Linear Systems</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: Large Dense Linear Systems">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: Large Dense Linear Systems">
<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="Least_002dSquares-Fitting.html#Least_002dSquares-Fitting" rel="up" title="Least-Squares Fitting">
<link href="Large-Dense-Linear-Systems-Normal-Equations.html#Large-Dense-Linear-Systems-Normal-Equations" rel="next" title="Large Dense Linear Systems Normal Equations">
<link href="Robust-linear-regression.html#Robust-linear-regression" rel="previous" title="Robust linear regression">
<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="Large-Dense-Linear-Systems"></a>
<div class="header">
<p>
Next: <a href="Troubleshooting.html#Troubleshooting" accesskey="n" rel="next">Troubleshooting</a>, Previous: <a href="Robust-linear-regression.html#Robust-linear-regression" accesskey="p" rel="previous">Robust linear regression</a>, Up: <a href="Least_002dSquares-Fitting.html#Least_002dSquares-Fitting" accesskey="u" rel="up">Least-Squares Fitting</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Large-dense-linear-systems"></a>
<h3 class="section">38.6 Large dense linear systems</h3>
<a name="index-large-dense-linear-least-squares"></a>
<a name="index-linear-least-squares_002c-large"></a>

<p>This module is concerned with solving large dense least squares systems
<em>X c = y</em> where the <em>n</em>-by-<em>p</em> matrix
<em>X</em> has <em>n &gt;&gt; p</em> (ie: many more rows than columns).
This type of matrix is called a &ldquo;tall skinny&rdquo; matrix, and for
some applications, it may not be possible to fit the
entire matrix in memory at once to use the standard SVD approach.
Therefore, the algorithms in this module are designed to allow
the user to construct smaller blocks of the matrix <em>X</em> and
accumulate those blocks into the larger system one at a time. The
algorithms in this module never need to store the entire matrix
<em>X</em> in memory. The large linear least squares routines
support data weights and Tikhonov regularization, and are
designed to minimize the residual
</p><div class="example">
<pre class="example">\chi^2 = || y - Xc ||_W^2 + \lambda^2 || L c ||^2
</pre></div>
<p>where <em>y</em> is the <em>n</em>-by-<em>1</em> observation vector,
<em>X</em> is the <em>n</em>-by-<em>p</em> design matrix, <em>c</em> is
the <em>p</em>-by-<em>1</em> solution vector,
<em>W =</em> diag<em>(w_1,...,w_n)</em> is the data weighting matrix,
<em>L</em> is an <em>m</em>-by-<em>p</em> regularization matrix,
<em>\lambda</em> is a regularization parameter,
and <em>||r||_W^2 = r^T W r</em>. In the discussion which follows,
we will assume that the system has been converted into Tikhonov
standard form,
</p><div class="example">
<pre class="example">\chi^2 = || y~ - X~ c~ ||^2 + \lambda^2 || c~ ||^2
</pre></div>
<p>and we will drop the tilde characters from the various parameters.
For a discussion of the transformation to standard form
see <a href="Regularized-regression.html#Regularized-regression">Regularized regression</a>.
</p>
<p>The basic idea is to partition the matrix <em>X</em> and observation
vector <em>y</em> as
</p><div class="example">
<pre class="example">[ X_1 ] c = [ y_1 ]
[ X_2 ]     [ y_2 ]
[ X_3 ]     [ y_3 ]
[ ... ]     [ ... ]
[ X_k ]     [ y_k ]
</pre></div>
<p>into <em>k</em> blocks, where each block (<em>X_i,y_i</em>) may have
any number of rows, but each <em>X_i</em> has <em>p</em> columns.
The sections below describe the methods available for solving
this partitioned system. The functions are declared in
the header file <samp>gsl_multilarge.h</samp>.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="Large-Dense-Linear-Systems-Normal-Equations.html#Large-Dense-Linear-Systems-Normal-Equations" accesskey="1">Large Dense Linear Systems Normal Equations</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Large-Dense-Linear-Systems-TSQR.html#Large-Dense-Linear-Systems-TSQR" accesskey="2">Large Dense Linear Systems TSQR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Large-Dense-Linear-Systems-Solution-Steps.html#Large-Dense-Linear-Systems-Solution-Steps" accesskey="3">Large Dense Linear Systems Solution Steps</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="Large-Dense-Linear-Systems-Routines.html#Large-Dense-Linear-Systems-Routines" accesskey="4">Large Dense Linear Systems Routines</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
</table>

<hr>
<div class="header">
<p>
Next: <a href="Troubleshooting.html#Troubleshooting" accesskey="n" rel="next">Troubleshooting</a>, Previous: <a href="Robust-linear-regression.html#Robust-linear-regression" accesskey="p" rel="previous">Robust linear regression</a>, Up: <a href="Least_002dSquares-Fitting.html#Least_002dSquares-Fitting" accesskey="u" rel="up">Least-Squares Fitting</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>