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
  
     | 
    
      <html lang="en">
<head>
<title>Real Generalized Symmetric-Definite Eigensystems - GNU Scientific Library -- Reference Manual</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GNU Scientific Library -- Reference Manual">
<meta name="generator" content="makeinfo 4.8">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Eigensystems.html" title="Eigensystems">
<link rel="prev" href="Real-Nonsymmetric-Matrices.html" title="Real Nonsymmetric Matrices">
<link rel="next" href="Complex-Generalized-Hermitian_002dDefinite-Eigensystems.html" title="Complex Generalized Hermitian-Definite Eigensystems">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 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.2 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 freedom to copy and modify this
GNU Manual, like GNU software.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<p>
<a name="Real-Generalized-Symmetric-Definite-Eigensystems"></a>
<a name="Real-Generalized-Symmetric_002dDefinite-Eigensystems"></a>
Next: <a rel="next" accesskey="n" href="Complex-Generalized-Hermitian_002dDefinite-Eigensystems.html">Complex Generalized Hermitian-Definite Eigensystems</a>,
Previous: <a rel="previous" accesskey="p" href="Real-Nonsymmetric-Matrices.html">Real Nonsymmetric Matrices</a>,
Up: <a rel="up" accesskey="u" href="Eigensystems.html">Eigensystems</a>
<hr>
</div>
<h3 class="section">14.4 Real Generalized Symmetric-Definite Eigensystems</h3>
<p><a name="index-generalized-symmetric-eigensystems-1358"></a>
The real generalized symmetric-definite eigenvalue problem is to find
eigenvalues \lambda and eigenvectors x such that
<pre class="example">     A x = \lambda B x
</pre>
   <p>where A and B are symmetric matrices, and B is
positive-definite. This problem reduces to the standard symmetric
eigenvalue problem by applying the Cholesky decomposition to B:
<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>
   <p>Therefore, the problem becomes C y = \lambda y where
<!-- {$C = L^{-1} A L^{-t}$} -->
C = L^{-1} A L^{-t}
is symmetric, and y = L^t x. The standard
symmetric eigensolver can be applied to the matrix C. 
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.
<div class="defun">
— Function: gsl_eigen_gensymm_workspace * <b>gsl_eigen_gensymm_alloc</b> (<var>const size_t n</var>)<var><a name="index-gsl_005feigen_005fgensymm_005falloc-1359"></a></var><br>
<blockquote><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 O(2n). 
</p></blockquote></div>
<div class="defun">
— Function: void <b>gsl_eigen_gensymm_free</b> (<var>gsl_eigen_gensymm_workspace * w</var>)<var><a name="index-gsl_005feigen_005fgensymm_005ffree-1360"></a></var><br>
<blockquote><p>This function frees the memory associated with the workspace <var>w</var>. 
</p></blockquote></div>
<div class="defun">
— Function: int <b>gsl_eigen_gensymm</b> (<var>gsl_matrix * A, gsl_matrix * B, gsl_vector * eval, gsl_eigen_gensymm_workspace * w</var>)<var><a name="index-gsl_005feigen_005fgensymm-1361"></a></var><br>
<blockquote><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></blockquote></div>
<div class="defun">
— Function: gsl_eigen_gensymmv_workspace * <b>gsl_eigen_gensymmv_alloc</b> (<var>const size_t n</var>)<var><a name="index-gsl_005feigen_005fgensymmv_005falloc-1362"></a></var><br>
<blockquote><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 O(4n). 
</p></blockquote></div>
<div class="defun">
— Function: void <b>gsl_eigen_gensymmv_free</b> (<var>gsl_eigen_gensymmv_workspace * w</var>)<var><a name="index-gsl_005feigen_005fgensymmv_005ffree-1363"></a></var><br>
<blockquote><p>This function frees the memory associated with the workspace <var>w</var>. 
</p></blockquote></div>
<div class="defun">
— Function: int <b>gsl_eigen_gensymmv</b> (<var>gsl_matrix * A, gsl_matrix * B, gsl_vector * eval, gsl_matrix * evec, gsl_eigen_gensymmv_workspace * w</var>)<var><a name="index-gsl_005feigen_005fgensymmv-1364"></a></var><br>
<blockquote><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></blockquote></div>
<hr>The GNU Scientific Library - a free numerical library licensed under the GNU GPL<br>Back to the <a href="/software/gsl/">GNU Scientific Library Homepage</a></body></html>
 
     |