Mercurial > octave
diff src/DLD-FUNCTIONS/qz.cc @ 3372:f16c2ce14886
[project @ 1999-11-23 19:07:09 by jwe]
author | jwe |
---|---|
date | Tue, 23 Nov 1999 19:07:18 +0000 |
parents | 3d3eca53ecca |
children | e098ebb77023 |
line wrap: on
line diff
--- a/src/DLD-FUNCTIONS/qz.cc Sun Nov 21 17:31:10 1999 +0000 +++ b/src/DLD-FUNCTIONS/qz.cc Tue Nov 23 19:07:18 1999 +0000 @@ -178,42 +178,63 @@ } DEFUN_DLD (qz, args, nargout, -"Usage:\n\ - - lambda = qz (A, B) form [1]\n\ - [AA, BB, Q, Z {, V, W, lambda}] = qz (A, B) form [2]\n\ - [AA, BB, Z{, lambda}] = qz (A, B, opt) form [3]\n\ + "-*- texinfo -*-\n\ +@deftypefn {Loadable Function} {@var{lambda} =} qz (@var{a}, @var{b})\n\ +Generalized eigenvalue problem @math{A x = s B x},\n\ +@var{QZ} decomposition. Three ways to call:\n\ +@enumerate\n\ +@item @code{lambda = qz(A,B)}\n\ \n\ -Generalized eigenvalue problem A x = s B x \n\ +Computes the generalized eigenvalues @var{lambda} of @math{(A - sB)}.\n\ +\n\ +@item @code{[AA, BB, Q, Z @{, V, W, lambda@}] = qz (A, B)}\n\ \n\ -Form [1]: Computes the generalized eigenvalues lambda of (A - sB).\n\ +Computes qz decomposition, generalized eigenvectors, and \n\ + generalized eigenvalues of @math{(A - sB)}\n\ +@example\n\ +@group\n\ + A V = B V diag(lambda)\n\ + W' A = diag(lambda) W' B\n\ + AA = Q'*A*Z, BB = Q'*B*Z with Q, Z orthogonal (unitary)= I\n\ +@end group\n\ +@end example\n\ \n\ -Form [2]: Computes qz decomposition, generalized eigenvectors, and \n\ - generalized eigenvalues of (A - sB)\n\ - A V = B V diag (lambda)\n\ - W' A = diag (lambda) W' B\n\ - AA = Q'*A*Z, BB = Q'*B*Z with Q, Z orthogonal (unitary)= I\n\ +@item @code{[AA,BB,Z@{,lambda@}] = qz(A,B,opt)}\n\ \n\ -Form [3]: As in form [2], but allows ordering of generalized eigenpairs\n\ - for (e.g.) solution of discrete time algebraic Riccati equations.\n\ - Form 3 is not available for complex matrices and does not compute\n\ - the generalized eigenvectors V, W, nor the orthogonal matrix Q.\n\ +As in form [2], but allows ordering of generalized eigenpairs\n\ + for (e.g.) solution of discrete time algebraic Riccati equations.\n\ + Form 3 is not available for complex matrices and does not compute\n\ + the generalized eigenvectors V, W, nor the orthogonal matrix Q.\n\ +@table @var\n\ +@item opt\n\ + for ordering eigenvalues of the GEP pencil. The leading block\n\ + of the revised pencil contains all eigenvalues that satisfy:\n\ +@table @code\n\ +@item \"N\"\n\ + = unordered (default) \n\ \n\ - opt: for ordering eigenvalues of the GEP pencil. The leading block\n\ - of the revised pencil contains all eigenvalues that satisfy:\n\ +@item \"S\"\n\ += small: leading block has all |lambda| <=1 \n\ \n\ - \"N\" = unordered (default) \n\ - \"S\" = small: leading block has all |lambda| <=1 \n\ - \"B\" = big: leading block has all |lambda >= 1 \n\ - \"-\" = negative real part: leading block has all eigenvalues\n\ +@item \"B\"\n\ + = big: leading block has all |lambda >= 1 \n\ +\n\ +@item \"-\"\n\ + = negative real part: leading block has all eigenvalues\n\ in the open left half-plant\n\ - \"+\" = nonnegative real part: leading block has all eigenvalues\n\ +\n\ +@item \"+\"\n\ + = nonnegative real part: leading block has all eigenvalues\n\ in the closed right half-plane\n\ +@end table\n\ +@end table\n\ +@end enumerate\n\ \n\ -Note: Permutation balancing is performed, but not scaling (see balance)\n\ +Note: qz performs permutation balancing, but not scaling (see balance).\n\ Order of output arguments was selected for compatibility with MATLAB\n\ \n\ -See also: balance, dare, eig, schur") +See also: balance, dare, eig, schur\n\ +@end deftypefn") { octave_value_list retval; int nargin = args.length ();