diff src/DLD-FUNCTIONS/hess.cc @ 3372:f16c2ce14886

[project @ 1999-11-23 19:07:09 by jwe]
author jwe
date Tue, 23 Nov 1999 19:07:18 +0000
parents 38de16594cb4
children ab7fa5a8f23f
line wrap: on
line diff
--- a/src/DLD-FUNCTIONS/hess.cc	Sun Nov 21 17:31:10 1999 +0000
+++ b/src/DLD-FUNCTIONS/hess.cc	Tue Nov 23 19:07:18 1999 +0000
@@ -34,7 +34,31 @@
 #include "utils.h"
 
 DEFUN_DLD (hess, args, nargout,
-  "[P, H] = hess (A) or H = hess (A): Hessenberg decomposition")
+  "-*- texinfo -*-
+@deftypefn {Loadable Function} {@var{h} =} hess (@var{a})\n\
+@deftypefnx {Loadable Function} {[@var{p}, @var{h}] =} hess (@var{a})\n\
+@cindex Hessenberg decomposition\n\
+Compute the Hessenberg decomposition of the matrix @var{a}.\n\
+\n\
+The Hessenberg decomposition is usually used as the first step in an\n\
+eigenvalue computation, but has other applications as well (see Golub,\n\
+Nash, and Van Loan, IEEE Transactions on Automatic Control, 1979.  The\n\
+Hessenberg decomposition is\n\
+@iftex\n\
+@tex\n\
+$$\n\
+A = PHP^T\n\
+$$\n\
+where $P$ is a square unitary matrix ($P^HP = I$), and $H$\n\
+is upper Hessenberg ($H_{i,j} = 0, \\forall i \\ge j+1$).\n\
+@end tex\n\
+@end iftex\n\
+@ifinfo\n\
+@code{p * h * p' = a} where @code{p} is a square unitary matrix\n\
+(@code{p' * p = I}, using complex-conjugate transposition) and @code{h}\n\
+is upper Hessenberg (@code{i >= j+1 => h (i, j) = 0}).\n\
+@end ifinfo\n\
+@end deftypefn")
 {
   octave_value_list retval;