Mercurial > matrix-functions
diff toolbox/frank.m @ 2:c124219d7bfa draft
Re-add the 1995 toolbox after noticing the statement in the ~higham/mctoolbox/ webpage.
author | Antonio Pino Robles <data.script93@gmail.com> |
---|---|
date | Thu, 07 May 2015 18:36:24 +0200 |
parents | 8f23314345f4 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolbox/frank.m Thu May 07 18:36:24 2015 +0200 @@ -0,0 +1,45 @@ +function F = frank(n, k) +%FRANK Frank matrix---ill conditioned eigenvalues. +% F = FRANK(N, K) is the Frank matrix of order N. It is upper +% Hessenberg with determinant 1. K = 0 is the default; if K = 1 the +% elements are reflected about the anti-diagonal (1,N)--(N,1). +% F has all positive eigenvalues and they occur in reciprocal pairs +% (so that 1 is an eigenvalue if N is odd). +% The eigenvalues of F may be obtained in terms of the zeros of the +% Hermite polynomials. +% The FLOOR(N/2) smallest eigenvalues of F are ill conditioned, +% the more so for bigger N. + +% DET(FRANK(N)') comes out far from 1 for large N---see Frank (1958) +% and Wilkinson (1960) for discussions. +% +% This version incorporates improvements suggested by W. Kahan. +% +% References: +% W.L. Frank, Computing eigenvalues of complex matrices by determinant +% evaluation and by methods of Danilewski and Wielandt, J. Soc. +% Indust. Appl. Math., 6 (1958), pp. 378-392 (see pp. 385, 388). +% G.H. Golub and J.H. Wilkinson, Ill-conditioned eigensystems and the +% computation of the Jordan canonical form, SIAM Review, 18 (1976), +% pp. 578-619 (Section 13). +% H. Rutishauser, On test matrices, Programmation en Mathematiques +% Numeriques, Editions Centre Nat. Recherche Sci., Paris, 165, +% 1966, pp. 349-365. Section 9. +% J.H. Wilkinson, Error analysis of floating-point computation, +% Numer. Math., 2 (1960), pp. 319-340 (Section 8). +% J.H. Wilkinson, The Algebraic Eigenvalue Problem, Oxford University +% Press, 1965 (pp. 92-93). +% The next two references give details of the eigensystem, as does +% Rutishauser (see above). +% P.J. Eberlein, A note on the matrices denoted by B_n, SIAM J. Appl. +% Math., 20 (1971), pp. 87-92. +% J.M. Varah, A generalization of the Frank matrix, SIAM J. Sci. Stat. +% Comput., 7 (1986), pp. 835-839. + +if nargin == 1, k = 0; end + +p = n:-1:1; +F = triu( p( ones(n,1), :) - diag( ones(n-1,1), -1), -1 ); +if k ~= 0 + F = F(p,p)'; +end