changeset 12644:e205ebe2ba67

Deprecate sylvester_matrix.m function * NEWS: Add to list of deprecated functions * matrix.txi: Remove from list of special matrices * deprecated/module.mk, special-matrix/module.mk: Move function to deprecated directory.
author Rik <octave@nomad.inbox5.com>
date Mon, 02 May 2011 11:45:56 -0700
parents 55430618bd5f
children 8579e7a6e6e0
files NEWS doc/interpreter/matrix.txi scripts/deprecated/module.mk scripts/deprecated/sylvester_matrix.m scripts/special-matrix/module.mk scripts/special-matrix/sylvester_matrix.m
diffstat 6 files changed, 71 insertions(+), 65 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Mon May 02 11:26:27 2011 -0700
+++ b/NEWS	Mon May 02 11:45:56 2011 -0700
@@ -32,6 +32,7 @@
 
       is_duplicate_entry
       studentize
+      sylvester_matrix
 
 
 Summary of important user-visible changes for version 3.4:
--- a/doc/interpreter/matrix.txi	Mon May 02 11:26:27 2011 -0700
+++ b/doc/interpreter/matrix.txi	Mon May 02 11:45:56 2011 -0700
@@ -254,8 +254,6 @@
 
 @DOCSTRING(rosser)
 
-@DOCSTRING(sylvester_matrix)
-
 @DOCSTRING(toeplitz)
 
 @DOCSTRING(vander)
--- a/scripts/deprecated/module.mk	Mon May 02 11:26:27 2011 -0700
+++ b/scripts/deprecated/module.mk	Mon May 02 11:45:56 2011 -0700
@@ -24,6 +24,7 @@
   deprecated/spvcat.m \
   deprecated/strerror.m \
   deprecated/studentize.m \
+  deprecated/sylvester_matrix.m \
   deprecated/values.m \
   deprecated/weibcdf.m \
   deprecated/weibinv.m \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/deprecated/sylvester_matrix.m	Mon May 02 11:45:56 2011 -0700
@@ -0,0 +1,69 @@
+## Copyright (C) 1996-2011 John W. Eaton
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn {Function File} {} sylvester_matrix (@var{k})
+## Return the Sylvester matrix of order
+## @tex
+## $n = 2^k$.
+## @end tex
+## @ifnottex
+## n = 2^@var{k}.
+## @end ifnottex
+##
+## @seealso{toeplitz, hankel}
+## @end deftypefn
+
+## Author: jwe
+
+function retval = sylvester_matrix (k)
+
+  persistent warned = false;
+  if (! warned)
+    warned = true;
+    warning ("Octave:deprecated-function",
+             "sylvester_matrix is obsolete and will be removed from a future version of Octave; please use hadamard(2^k) instead");
+  endif
+
+  if (nargin != 1)
+    print_usage ();
+  endif
+
+  if (isscalar (k))
+    if (k < 1)
+      retval = 1;
+    else
+      tmp = sylvester_matrix (k-1);
+      retval = [tmp, tmp; tmp, -tmp];
+    endif
+  else
+    error ("sylvester_matrix: expecting scalar argument");
+  endif
+
+endfunction
+
+%!assert((sylvester_matrix (1) == [1, 1; 1, -1]
+%! && (sylvester_matrix (2)
+%! == [1, 1, 1, 1; 1, -1, 1, -1; 1, 1, -1, -1; 1, -1, -1, 1])));
+
+%!error sylvester_matrix ([1, 2; 3, 4]);
+
+%!error sylvester_matrix ();
+
+%!error sylvester_matrix (1, 2);
+
--- a/scripts/special-matrix/module.mk	Mon May 02 11:26:27 2011 -0700
+++ b/scripts/special-matrix/module.mk	Mon May 02 11:45:56 2011 -0700
@@ -8,7 +8,6 @@
   special-matrix/magic.m \
   special-matrix/pascal.m \
   special-matrix/rosser.m \
-  special-matrix/sylvester_matrix.m \
   special-matrix/toeplitz.m \
   special-matrix/vander.m \
   special-matrix/wilkinson.m
--- a/scripts/special-matrix/sylvester_matrix.m	Mon May 02 11:26:27 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-## Copyright (C) 1996-2011 John W. Eaton
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {Function File} {} sylvester_matrix (@var{k})
-## Return the Sylvester matrix of order
-## @tex
-## $n = 2^k$.
-## @end tex
-## @ifnottex
-## n = 2^@var{k}.
-## @end ifnottex
-##
-## @seealso{toeplitz, hankel}
-## @end deftypefn
-
-## Author: jwe
-
-function retval = sylvester_matrix (k)
-
-  if (nargin != 1)
-    print_usage ();
-  endif
-
-  if (isscalar (k))
-    if (k < 1)
-      retval = 1;
-    else
-      tmp = sylvester_matrix (k-1);
-      retval = [tmp, tmp; tmp, -tmp];
-    endif
-  else
-    error ("sylvester_matrix: expecting scalar argument");
-  endif
-
-endfunction
-
-%!assert((sylvester_matrix (1) == [1, 1; 1, -1]
-%! && (sylvester_matrix (2)
-%! == [1, 1, 1, 1; 1, -1, 1, -1; 1, 1, -1, -1; 1, -1, -1, 1])));
-
-%!error sylvester_matrix ([1, 2; 3, 4]);
-
-%!error sylvester_matrix ();
-
-%!error sylvester_matrix (1, 2);
-