File: Real-Generalized-Symmetric_002dDefinite-Eigensystems.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 (147 lines) | stat: -rw-r--r-- 8,428 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
143
144
145
146
147
<!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: Real Generalized Symmetric-Definite Eigensystems</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: Real Generalized Symmetric-Definite Eigensystems">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: Real Generalized Symmetric-Definite Eigensystems">
<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="Eigensystems.html#Eigensystems" rel="up" title="Eigensystems">
<link href="Complex-Generalized-Hermitian_002dDefinite-Eigensystems.html#Complex-Generalized-Hermitian_002dDefinite-Eigensystems" rel="next" title="Complex Generalized Hermitian-Definite Eigensystems">
<link href="Real-Nonsymmetric-Matrices.html#Real-Nonsymmetric-Matrices" rel="previous" title="Real Nonsymmetric Matrices">
<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="Real-Generalized-Symmetric_002dDefinite-Eigensystems"></a>
<div class="header">
<p>
Next: <a href="Complex-Generalized-Hermitian_002dDefinite-Eigensystems.html#Complex-Generalized-Hermitian_002dDefinite-Eigensystems" accesskey="n" rel="next">Complex Generalized Hermitian-Definite Eigensystems</a>, Previous: <a href="Real-Nonsymmetric-Matrices.html#Real-Nonsymmetric-Matrices" accesskey="p" rel="previous">Real Nonsymmetric Matrices</a>, Up: <a href="Eigensystems.html#Eigensystems" accesskey="u" rel="up">Eigensystems</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Real-Generalized-Symmetric_002dDefinite-Eigensystems-1"></a>
<h3 class="section">15.4 Real Generalized Symmetric-Definite Eigensystems</h3>
<a name="index-generalized-symmetric-eigensystems"></a>

<p>The real generalized symmetric-definite eigenvalue problem is to find
eigenvalues <em>\lambda</em> and eigenvectors <em>x</em> such that
</p><div class="example">
<pre class="example">A x = \lambda B x
</pre></div>
<p>where <em>A</em> and <em>B</em> are symmetric matrices, and <em>B</em> is
positive-definite. This problem reduces to the standard symmetric
eigenvalue problem by applying the Cholesky decomposition to <em>B</em>:
</p><div class="example">
<pre class="example">                      A x = \lambda B x
                      A x = \lambda L L^t x
( L^{-1} A L^{-t} ) L^t x = \lambda L^t x
</pre></div>
<p>Therefore, the problem becomes <em>C y = \lambda y</em> where
<em>C = L^{-1} A L^{-t}</em>
is symmetric, and <em>y = L^t x</em>. The standard
symmetric eigensolver can be applied to the matrix <em>C</em>.
The resulting eigenvectors are backtransformed to find the
vectors of the original problem. The eigenvalues and eigenvectors
of the generalized symmetric-definite eigenproblem are always real.
</p>
<dl>
<dt><a name="index-gsl_005feigen_005fgensymm_005falloc"></a>Function: <em>gsl_eigen_gensymm_workspace *</em> <strong>gsl_eigen_gensymm_alloc</strong> <em>(const size_t <var>n</var>)</em></dt>
<dd><a name="index-gsl_005feigen_005fgensymm_005fworkspace"></a>
<p>This function allocates a workspace for computing eigenvalues of
<var>n</var>-by-<var>n</var> real generalized symmetric-definite eigensystems. The
size of the workspace is <em>O(2n)</em>.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005feigen_005fgensymm_005ffree"></a>Function: <em>void</em> <strong>gsl_eigen_gensymm_free</strong> <em>(gsl_eigen_gensymm_workspace * <var>w</var>)</em></dt>
<dd><p>This function frees the memory associated with the workspace <var>w</var>.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005feigen_005fgensymm"></a>Function: <em>int</em> <strong>gsl_eigen_gensymm</strong> <em>(gsl_matrix * <var>A</var>, gsl_matrix * <var>B</var>, gsl_vector * <var>eval</var>, gsl_eigen_gensymm_workspace * <var>w</var>)</em></dt>
<dd><p>This function computes the eigenvalues of the real generalized
symmetric-definite matrix pair (<var>A</var>, <var>B</var>), and stores them 
in <var>eval</var>, using the method outlined above. On output, <var>B</var>
contains its Cholesky decomposition and <var>A</var> is destroyed.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005feigen_005fgensymmv_005falloc"></a>Function: <em>gsl_eigen_gensymmv_workspace *</em> <strong>gsl_eigen_gensymmv_alloc</strong> <em>(const size_t <var>n</var>)</em></dt>
<dd><a name="index-gsl_005feigen_005fgensymmv_005fworkspace"></a>
<p>This function allocates a workspace for computing eigenvalues and
eigenvectors of <var>n</var>-by-<var>n</var> real generalized symmetric-definite
eigensystems. The size of the workspace is <em>O(4n)</em>.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005feigen_005fgensymmv_005ffree"></a>Function: <em>void</em> <strong>gsl_eigen_gensymmv_free</strong> <em>(gsl_eigen_gensymmv_workspace * <var>w</var>)</em></dt>
<dd><p>This function frees the memory associated with the workspace <var>w</var>.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005feigen_005fgensymmv"></a>Function: <em>int</em> <strong>gsl_eigen_gensymmv</strong> <em>(gsl_matrix * <var>A</var>, gsl_matrix * <var>B</var>, gsl_vector * <var>eval</var>, gsl_matrix * <var>evec</var>, gsl_eigen_gensymmv_workspace * <var>w</var>)</em></dt>
<dd><p>This function computes the eigenvalues and eigenvectors of the real
generalized symmetric-definite matrix pair (<var>A</var>, <var>B</var>), and
stores them in <var>eval</var> and <var>evec</var> respectively. The computed
eigenvectors are normalized to have unit magnitude. On output,
<var>B</var> contains its Cholesky decomposition and <var>A</var> is destroyed.
</p></dd></dl>

<hr>
<div class="header">
<p>
Next: <a href="Complex-Generalized-Hermitian_002dDefinite-Eigensystems.html#Complex-Generalized-Hermitian_002dDefinite-Eigensystems" accesskey="n" rel="next">Complex Generalized Hermitian-Definite Eigensystems</a>, Previous: <a href="Real-Nonsymmetric-Matrices.html#Real-Nonsymmetric-Matrices" accesskey="p" rel="previous">Real Nonsymmetric Matrices</a>, Up: <a href="Eigensystems.html#Eigensystems" accesskey="u" rel="up">Eigensystems</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>