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
|
<!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 – Reference Manual: Hessenberg Decomposition of Real Matrices</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: Hessenberg Decomposition of Real Matrices">
<meta name="keywords" content="GNU Scientific Library – Reference Manual: Hessenberg Decomposition of Real Matrices">
<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="Linear-Algebra.html#Linear-Algebra" rel="up" title="Linear Algebra">
<link href="Hessenberg_002dTriangular-Decomposition-of-Real-Matrices.html#Hessenberg_002dTriangular-Decomposition-of-Real-Matrices" rel="next" title="Hessenberg-Triangular Decomposition of Real Matrices">
<link href="Tridiagonal-Decomposition-of-Hermitian-Matrices.html#Tridiagonal-Decomposition-of-Hermitian-Matrices" rel="previous" title="Tridiagonal Decomposition of Hermitian 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="Hessenberg-Decomposition-of-Real-Matrices"></a>
<div class="header">
<p>
Next: <a href="Hessenberg_002dTriangular-Decomposition-of-Real-Matrices.html#Hessenberg_002dTriangular-Decomposition-of-Real-Matrices" accesskey="n" rel="next">Hessenberg-Triangular Decomposition of Real Matrices</a>, Previous: <a href="Tridiagonal-Decomposition-of-Hermitian-Matrices.html#Tridiagonal-Decomposition-of-Hermitian-Matrices" accesskey="p" rel="previous">Tridiagonal Decomposition of Hermitian Matrices</a>, Up: <a href="Linear-Algebra.html#Linear-Algebra" accesskey="u" rel="up">Linear Algebra</a> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Hessenberg-Decomposition-of-Real-Matrices-1"></a>
<h3 class="section">14.11 Hessenberg Decomposition of Real Matrices</h3>
<a name="index-Hessenberg-decomposition"></a>
<p>A general real matrix <em>A</em> can be decomposed by orthogonal
similarity transformations into the form
</p>
<div class="example">
<pre class="example">A = U H U^T
</pre></div>
<p>where <em>U</em> is orthogonal and <em>H</em> is an upper Hessenberg matrix,
meaning that it has zeros below the first subdiagonal. The
Hessenberg reduction is the first step in the Schur decomposition
for the nonsymmetric eigenvalue problem, but has applications in
other areas as well.
</p>
<dl>
<dt><a name="index-gsl_005flinalg_005fhessenberg_005fdecomp"></a>Function: <em>int</em> <strong>gsl_linalg_hessenberg_decomp</strong> <em>(gsl_matrix * <var>A</var>, gsl_vector * <var>tau</var>)</em></dt>
<dd><p>This function computes the Hessenberg decomposition of the matrix
<var>A</var> by applying the similarity transformation <em>H = U^T A U</em>.
On output, <em>H</em> is stored in the upper portion of <var>A</var>. The
information required to construct the matrix <em>U</em> is stored in
the lower triangular portion of <var>A</var>. <em>U</em> is a product
of <em>N - 2</em> Householder matrices. The Householder vectors
are stored in the lower portion of <var>A</var> (below the subdiagonal)
and the Householder coefficients are stored in the vector <var>tau</var>.
<var>tau</var> must be of length <var>N</var>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005flinalg_005fhessenberg_005funpack"></a>Function: <em>int</em> <strong>gsl_linalg_hessenberg_unpack</strong> <em>(gsl_matrix * <var>H</var>, gsl_vector * <var>tau</var>, gsl_matrix * <var>U</var>)</em></dt>
<dd><p>This function constructs the orthogonal matrix <em>U</em> from the
information stored in the Hessenberg matrix <var>H</var> along with the
vector <var>tau</var>. <var>H</var> and <var>tau</var> are outputs from
<code>gsl_linalg_hessenberg_decomp</code>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005flinalg_005fhessenberg_005funpack_005faccum"></a>Function: <em>int</em> <strong>gsl_linalg_hessenberg_unpack_accum</strong> <em>(gsl_matrix * <var>H</var>, gsl_vector * <var>tau</var>, gsl_matrix * <var>V</var>)</em></dt>
<dd><p>This function is similar to <code>gsl_linalg_hessenberg_unpack</code>, except
it accumulates the matrix <var>U</var> into <var>V</var>, so that <em>V' = VU</em>.
The matrix <var>V</var> must be initialized prior to calling this function.
Setting <var>V</var> to the identity matrix provides the same result as
<code>gsl_linalg_hessenberg_unpack</code>. If <var>H</var> is order <var>N</var>, then
<var>V</var> must have <var>N</var> columns but may have any number of rows.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005flinalg_005fhessenberg_005fset_005fzero"></a>Function: <em>int</em> <strong>gsl_linalg_hessenberg_set_zero</strong> <em>(gsl_matrix * <var>H</var>)</em></dt>
<dd><p>This function sets the lower triangular portion of <var>H</var>, below
the subdiagonal, to zero. It is useful for clearing out the
Householder vectors after calling <code>gsl_linalg_hessenberg_decomp</code>.
</p></dd></dl>
<hr>
<div class="header">
<p>
Next: <a href="Hessenberg_002dTriangular-Decomposition-of-Real-Matrices.html#Hessenberg_002dTriangular-Decomposition-of-Real-Matrices" accesskey="n" rel="next">Hessenberg-Triangular Decomposition of Real Matrices</a>, Previous: <a href="Tridiagonal-Decomposition-of-Hermitian-Matrices.html#Tridiagonal-Decomposition-of-Hermitian-Matrices" accesskey="p" rel="previous">Tridiagonal Decomposition of Hermitian Matrices</a>, Up: <a href="Linear-Algebra.html#Linear-Algebra" accesskey="u" rel="up">Linear Algebra</a> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|