# HG changeset patch # User Rik # Date 1373251523 25200 # Node ID 53eaa83e418159de1f983c245fa46c17d305ac26 # Parent 908b4956cbfddc856144be4968a287597f2a4ba0 doc: Add seealso links between various factorization forms. * libinterp/corefcn/hess.cc(Fhess), libinterp/corefcn/lu.cc(Flu, Fluupdate), libinterp/corefcn/qz.cc(Fqz), libinterp/corefcn/schur.cc(Fschur), libinterp/corefcn/svd.cc(Fsvd), libinterp/dldfcn/chol.cc(Fchol,Fcholupdate,Fcholinsert,Fcholdelete,Fcholshift), libinterp/dldfcn/qr.cc(Fqr, Fqrupdate, Fqrinsert, Fqrdelete, Fqrshift), scripts/linear-algebra/qzhess.m: Add seealso links between various factorization forms. diff -r 908b4956cbfd -r 53eaa83e4181 libinterp/corefcn/hess.cc --- a/libinterp/corefcn/hess.cc Sun Jul 07 17:55:38 2013 -0700 +++ b/libinterp/corefcn/hess.cc Sun Jul 07 19:45:23 2013 -0700 @@ -60,6 +60,7 @@ 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).\n\ +@seealso{eig, chol, lu, qr, qz, schur, svd}\n\ @end deftypefn") { octave_value_list retval; diff -r 908b4956cbfd -r 53eaa83e4181 libinterp/corefcn/lu.cc --- a/libinterp/corefcn/lu.cc Sun Jul 07 17:55:38 2013 -0700 +++ b/libinterp/corefcn/lu.cc Sun Jul 07 19:45:23 2013 -0700 @@ -137,6 +137,7 @@ is embedded into @var{U} to give a return value similar to the full case.\n\ For both full and sparse matrices, @code{lu} loses the permutation\n\ information.\n\ +@seealso{luupdate, chol, hess, qr, qz, schur, svd}\n\ @end deftypefn") { octave_value_list retval; @@ -635,7 +636,7 @@ The matrix case is done as a sequence of rank-1 updates;\n\ thus, for large enough k, it will be both faster and more accurate to\n\ recompute the factorization from scratch.\n\ -@seealso{lu, qrupdate, cholupdate}\n\ +@seealso{lu, cholupdate, qrupdate}\n\ @end deftypefn") { octave_idx_type nargin = args.length (); diff -r 908b4956cbfd -r 53eaa83e4181 libinterp/corefcn/qz.cc --- a/libinterp/corefcn/qz.cc Sun Jul 07 17:55:38 2013 -0700 +++ b/libinterp/corefcn/qz.cc Sun Jul 07 19:45:23 2013 -0700 @@ -369,7 +369,7 @@ Note: @code{qz} performs permutation balancing, but not scaling\n\ (@pxref{docXbalance}). The order of output arguments was selected for\n\ compatibility with @sc{matlab}.\n\ -@seealso{balance, eig, schur}\n\ +@seealso{eig, balance, lu, chol, hess, qr, qzhess, schur, svd}\n\ @end deftypefn") { octave_value_list retval; diff -r 908b4956cbfd -r 53eaa83e4181 libinterp/corefcn/schur.cc --- a/libinterp/corefcn/schur.cc Sun Jul 07 17:55:38 2013 -0700 +++ b/libinterp/corefcn/schur.cc Sun Jul 07 19:45:23 2013 -0700 @@ -123,7 +123,7 @@ The Schur@tie{}decomposition is used to compute eigenvalues of a\n\ square matrix, and has applications in the solution of algebraic\n\ Riccati equations in control (see @code{are} and @code{dare}).\n\ -@seealso{rsf2csf}\n\ +@seealso{rsf2csf, lu, chol, hess, qr, qz, svd}\n\ @end deftypefn") { octave_value_list retval; diff -r 908b4956cbfd -r 53eaa83e4181 libinterp/corefcn/svd.cc --- a/libinterp/corefcn/svd.cc Sun Jul 07 17:55:38 2013 -0700 +++ b/libinterp/corefcn/svd.cc Sun Jul 07 19:45:23 2013 -0700 @@ -121,7 +121,7 @@ If given a second argument, @code{svd} returns an economy-sized\n\ decomposition, eliminating the unnecessary rows or columns of @var{U} or\n\ @var{V}.\n\ -@seealso{svd_driver, svds, eig}\n\ +@seealso{svd_driver, svds, eig, lu, chol, hess, qr, qz}\n\ @end deftypefn") { octave_value_list retval; diff -r 908b4956cbfd -r 53eaa83e4181 libinterp/dldfcn/chol.cc --- a/libinterp/dldfcn/chol.cc Sun Jul 07 17:55:38 2013 -0700 +++ b/libinterp/dldfcn/chol.cc Sun Jul 07 19:45:23 2013 -0700 @@ -135,7 +135,7 @@ \n\ In general the lower triangular factorization is significantly faster for\n\ sparse matrices.\n\ -@seealso{cholinv, chol2inv}\n\ +@seealso{hess, lu, qr, qz, schur, svd, cholinv, chol2inv, cholupdate, cholinsert, choldelete, cholshift}\n\ @end deftypefn") { octave_value_list retval; @@ -649,7 +649,7 @@ @end itemize\n\ \n\ If @var{info} is not present, an error message is printed in cases 1 and 2.\n\ -@seealso{chol, qrupdate}\n\ +@seealso{chol, cholinsert, choldelete, cholshift}\n\ @end deftypefn") { octave_idx_type nargin = args.length (); @@ -849,7 +849,7 @@ @end itemize\n\ \n\ If @var{info} is not present, an error message is printed in cases 1 and 2.\n\ -@seealso{chol, cholupdate, choldelete}\n\ +@seealso{chol, cholupdate, choldelete, cholshift}\n\ @end deftypefn") { octave_idx_type nargin = args.length (); @@ -1097,7 +1097,7 @@ positive definite matrix @w{@var{A} = @var{R}'*@var{R}}, @var{R}@tie{}upper\n\ triangular, return the Cholesky@tie{}factorization of @w{A(p,p)}, where\n\ @w{p = [1:j-1,j+1:n+1]}.\n\ -@seealso{chol, cholupdate, cholinsert}\n\ +@seealso{chol, cholupdate, cholinsert, cholshift}\n\ @end deftypefn") { octave_idx_type nargin = args.length (); @@ -1234,7 +1234,7 @@ or @*\n\ @code{p = [1:j-1, shift(j:i,-1), i+1:n]} if @w{@var{j} < @var{i}}. @*\n\ \n\ -@seealso{chol, cholinsert, choldelete}\n\ +@seealso{chol, cholupdate, cholinsert, choldelete}\n\ @end deftypefn") { octave_idx_type nargin = args.length (); diff -r 908b4956cbfd -r 53eaa83e4181 libinterp/dldfcn/qr.cc --- a/libinterp/dldfcn/qr.cc Sun Jul 07 17:55:38 2013 -0700 +++ b/libinterp/dldfcn/qr.cc Sun Jul 07 19:45:23 2013 -0700 @@ -194,6 +194,7 @@ x = @var{R} \\ @var{C}\n\ @end group\n\ @end example\n\ +@seealso{chol, hess, lu, qz, schur, svd, qrupdate, qrinsert, qrdelete, qrshift}\n\ @end deftypefn") { octave_value_list retval; @@ -769,7 +770,7 @@ The QR@tie{}factorization supplied may be either full\n\ (Q is square) or economized (R is square).\n\ \n\ -@seealso{qr, qrinsert, qrdelete}\n\ +@seealso{qr, qrinsert, qrdelete, qrshift}\n\ @end deftypefn") { octave_idx_type nargin = args.length (); @@ -960,7 +961,7 @@ (Q is square) or economized (R is square).\n\ \n\ If @var{orient} is @code{\"row\"}, full factorization is needed.\n\ -@seealso{qr, qrupdate, qrdelete}\n\ +@seealso{qr, qrupdate, qrdelete, qrshift}\n\ @end deftypefn") { octave_idx_type nargin = args.length (); @@ -1179,7 +1180,7 @@ (Q is square) or economized (R is square).\n\ \n\ If @var{orient} is @code{\"row\"}, full factorization is needed.\n\ -@seealso{qr, qrinsert, qrupdate}\n\ +@seealso{qr, qrupdate, qrinsert, qrshift}\n\ @end deftypefn") { octave_idx_type nargin = args.length (); @@ -1429,7 +1430,7 @@ or @*\n\ @code{p = [1:j-1, shift(j:i,-1), i+1:n]} if @w{@var{j} < @var{i}}. @*\n\ \n\ -@seealso{qr, qrinsert, qrdelete}\n\ +@seealso{qr, qrupdate, qrinsert, qrdelete}\n\ @end deftypefn") { octave_idx_type nargin = args.length (); diff -r 908b4956cbfd -r 53eaa83e4181 scripts/linear-algebra/qzhess.m --- a/scripts/linear-algebra/qzhess.m Sun Jul 07 17:55:38 2013 -0700 +++ b/scripts/linear-algebra/qzhess.m Sun Jul 07 19:45:23 2013 -0700 @@ -39,6 +39,8 @@ ## ## Algorithm taken from Golub and Van Loan, ## @cite{Matrix Computations, 2nd edition}. +## +## @seealso{lu, chol, hess, qr, qz, schur, svd} ## @end deftypefn ## Author: A. S. Hodel