Mercurial > octave-antonio
diff scripts/linear-algebra/qzhess.m @ 3372:f16c2ce14886
[project @ 1999-11-23 19:07:09 by jwe]
author | jwe |
---|---|
date | Tue, 23 Nov 1999 19:07:18 +0000 |
parents | 8b262e771614 |
children | f8dde1807dee |
line wrap: on
line diff
--- a/scripts/linear-algebra/qzhess.m Sun Nov 21 17:31:10 1999 +0000 +++ b/scripts/linear-algebra/qzhess.m Tue Nov 23 19:07:18 1999 +0000 @@ -17,18 +17,30 @@ ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA ## 02111-1307, USA. -## Usage: [aa, bb, q, z] = qzhess (a, b) -## -## Compute the qz decomposition of the matrix pencil (a - lambda b) -## -## result: (for Matlab compatibility): -## -## aa = q*a*z and bb = q*b*z, with q, z orthogonal, and -## v = matrix of generalized eigenvectors. -## -## This ought to be done in a compiled program -## -## Algorithm taken from Golub and Van Loan, Matrix Computations, 2nd ed. +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{aa}, @var{bb}, @var{q}, @var{z}] =} qzhess (@var{a}, @var{b}) +## Compute the Hessenberg-triangular decomposition of the matrix pencil +## @code{(@var{a}, @var{b})}, returning +## @code{@var{aa} = @var{q} * @var{a} * @var{z}}, +## @code{@var{bb} = @var{q} * @var{b} * @var{z}}, with @var{q} and @var{z} +## orthogonal. For example, +## +## @example +## @group +## [aa, bb, q, z] = qzhess ([1, 2; 3, 4], [5, 6; 7, 8]) +## @result{} aa = [ -3.02244, -4.41741; 0.92998, 0.69749 ] +## @result{} bb = [ -8.60233, -9.99730; 0.00000, -0.23250 ] +## @result{} q = [ -0.58124, -0.81373; -0.81373, 0.58124 ] +## @result{} z = [ 1, 0; 0, 1 ] +## @end group +## @end example +## +## The Hessenberg-triangular decomposition is the first step in +## Moler and Stewart's QZ decomposition algorithm. +## +## Algorithm taken from Golub and Van Loan, @cite{Matrix Computations, 2nd +## edition}. +## @end deftypefn ## Author: A. S. Hodel <scotte@eng.auburn.edu> ## Created: August 1993