changeset 16920:53eaa83e4181

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.
author Rik <rik@octave.org>
date Sun, 07 Jul 2013 19:45:23 -0700
parents 908b4956cbfd
children 9a316ec12b5f
files libinterp/corefcn/hess.cc libinterp/corefcn/lu.cc libinterp/corefcn/qz.cc libinterp/corefcn/schur.cc libinterp/corefcn/svd.cc libinterp/dldfcn/chol.cc libinterp/dldfcn/qr.cc scripts/linear-algebra/qzhess.m
diffstat 8 files changed, 18 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- 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 ();
--- 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;
--- 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;
--- 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;
--- 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 ();
--- 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 ();
--- 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 <scotte@eng.auburn.edu>