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
|
<!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: Real Generalized Symmetric-Definite Eigensystems</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: Real Generalized Symmetric-Definite Eigensystems">
<meta name="keywords" content="GNU Scientific Library – 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> [<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
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>:
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> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|