diff toolbox/chow.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/chow.m	Thu May 07 18:36:24 2015 +0200
@@ -0,0 +1,21 @@
+function A = chow(n, alpha, delta)
+%CHOW    Chow matrix - a singular Toeplitz lower Hessenberg matrix.
+%        A = CHOW(N, ALPHA, DELTA) is a Toeplitz lower Hessenberg matrix
+%        A = H(ALPHA) + DELTA*EYE, where H(i,j) = ALPHA^(i-j+1).
+%        H(ALPHA) has p = FLOOR(N/2) zero eigenvalues, the rest being
+%        4*ALPHA*COS( k*PI/(N+2) )^2, k=1:N-p.
+%        Defaults: ALPHA = 1, DELTA = 0.
+
+%        References:
+%        T.S. Chow, A class of Hessenberg matrices with known
+%           eigenvalues and inverses, SIAM Review, 11 (1969), pp. 391-395.
+%        G. Fairweather, On the eigenvalues and eigenvectors of a class of
+%           Hessenberg matrices, SIAM Review, 13 (1971), pp. 220-221.
+%        I. Singh, G. Poole and T. Boullion, A class of Hessenberg matrices
+%           with known pseudoinverse and Drazin inverse, Math. Comp.,
+%           29 (1975), pp. 615-619.
+
+if nargin < 3, delta = 0; end
+if nargin < 2, alpha = 1; end
+
+A = toeplitz( alpha.^(1:n), [alpha 1 zeros(1,n-2)] ) + delta*eye(n);