comparison scripts/special-matrix/wilkinson.m @ 10791:3140cb7a05a1

Add spellchecker scripts for Octave and run spellcheck of documentation interpreter/doccheck: New directory for spelling/grammar scripts. interpreter/doccheck/README: Instructions for using scripts. interpreter/doccheck/spellcheck: Script to spellcheck a Texinfo file. interpreter/doccheck/aspell.conf: GNU Aspell configuration file for Octave documentation. interpreter/doccheck/aspell-octave.en.pws: Private Aspell dictionary. interpreter/doccheck/add_to_aspell_dict: Script to add new Octave-specific words to private Aspell dictionary. interpreter/octave.texi: New @nospell macro which forces Aspell to ignore the word marked by the macro. interpreter/mk_doc_cache.m: Skip new @nospell macro when building doc_cache.
author Rik <octave@nomad.inbox5.com>
date Sat, 17 Jul 2010 19:53:01 -0700
parents a1dbe9d80eee
children dcde7c5a1d29
comparison
equal deleted inserted replaced
10790:01f1643dfbb1 10791:3140cb7a05a1
17 ## <http://www.gnu.org/licenses/>. 17 ## <http://www.gnu.org/licenses/>.
18 18
19 ## -*- texinfo -*- 19 ## -*- texinfo -*-
20 ## @deftypefn {Function File} {} wilkinson (@var{n}) 20 ## @deftypefn {Function File} {} wilkinson (@var{n})
21 ## 21 ##
22 ## Return the Wilkinson matrix of order @var{n}. 22 ## Return the Wilkinson matrix of order @var{n}. Wilkinson matrices are
23 ## symmetric and tridiagonal with pairs of nearly, but not exactly, equal
24 ## eigenvalues.
23 ## 25 ##
24 ## @seealso{hankel, vander, sylvester_matrix, hilb, invhilb, toeplitz 26 ## @seealso{hankel, vander, sylvester_matrix, hilb, invhilb, toeplitz
25 ## hadamard, rosser, compan, pascal} 27 ## hadamard, rosser, compan, pascal}
26 ## @end deftypefn 28 ## @end deftypefn
27 29
32 34
33 if (nargin != 1) 35 if (nargin != 1)
34 print_usage (); 36 print_usage ();
35 endif 37 endif
36 38
37 nmax = length (n); 39 if (! (isscalar (n) && (n == fix (n)) && n > 0))
38 if (! (nmax == 1)) 40 error ("wilkinson: N must be an integer greater than 1");
39 error ("wilkinson: expecting scalar argument, found something else");
40 endif 41 endif
41 42
42 side = ones (n-1, 1); 43 side = ones (n-1, 1);
43 center = abs (-(n-1)/2:(n-1)/2); 44 center = abs (-(n-1)/2:(n-1)/2);
44 retval = diag (side, -1) + diag (center) + diag (side, 1); 45 retval = diag (side, -1) + diag (center) + diag (side, 1);