38 DEFUN (hess, args, nargout,
40 @deftypefn {Built-in Function} {@var{H} =} hess (@var{A})\n\
41 @deftypefnx {Built-in Function} {[@var{P}, @var{H}] =} hess (@var{A})\n\
42 @cindex Hessenberg decomposition\n\
43 Compute the Hessenberg decomposition of the matrix @var{A}.\n\
45 The Hessenberg decomposition is\n\
50 where $P$ is a square unitary matrix ($P^TP = I$), and $H$\n\
51 is upper Hessenberg ($H_{i,j} = 0, \\forall i \\ge j+1$).\n\
54 @code{@var{P} * @var{H} * @var{P}' = @var{A}} where @var{P} is a square\n\
55 unitary matrix (@code{@var{P}' * @var{P} = I}, using complex-conjugate\n\
56 transposition) and @var{H} is upper Hessenberg\n\
57 (@code{@var{H}(i, j) = 0 forall i >= j+1)}.\n\
60 The Hessenberg decomposition is usually used as the first step in an\n\
61 eigenvalue computation, but has other applications as well\n\
62 (see @nospell{Golub, Nash, and Van Loan},\n\
63 IEEE Transactions on Automatic Control, 1979).\n\
64 @seealso{eig, chol, lu, qr, qz, schur, svd}\n\
69 int nargin = args.
length ();
71 if (nargin != 1 || nargout > 2)
82 int arg_is_empty =
empty_arg (
"hess", nr, nc);
86 else if (arg_is_empty > 0)
bool is_real_type(void) const
void gripe_wrong_type_arg(const char *name, const char *s, bool is_error)
octave_idx_type rows(void) const
FloatComplexMatrix float_complex_matrix_value(bool frc_str_conv=false) const
OCTINTERP_API void print_usage(void)
octave_idx_type length(void) const
#define DEFUN(name, args_name, nargout_name, doc)
int empty_arg(const char *, octave_idx_type nr, octave_idx_type nc)
void gripe_square_matrix_required(const char *name)
FloatMatrix unitary_hess_matrix(void) const
octave_idx_type columns(void) const
FloatMatrix hess_matrix(void) const
bool is_complex_type(void) const
Matrix matrix_value(bool frc_str_conv=false) const
Matrix unitary_hess_matrix(void) const
FloatComplexMatrix hess_matrix(void) const
ComplexMatrix complex_matrix_value(bool frc_str_conv=false) const
ComplexMatrix hess_matrix(void) const
FloatMatrix float_matrix_value(bool frc_str_conv=false) const
FloatComplexMatrix unitary_hess_matrix(void) const
ComplexMatrix unitary_hess_matrix(void) const
bool is_single_type(void) const
Matrix hess_matrix(void) const