function Apr7()
% First note that if A is symmetric then we can solve Ax = b via
% the Schur decomposition A = QDQ':
%
%      x = inv(A)*b = inv(QDQ')*b = (Q*inv(D)*Q')*b = Q*((Q'*b)./diag(D))

% If solving systems involving Q and Q' are O(nlogn), then that means
% products of the form Q'*vector and Q*vector are O(nlogn)
%
% Suppose Q'(2I - E)Q = diag(d) where E is tridiagonal with zeros on the
% diagonal and ones on its super and sub diagonal. We know the vector of
% eigenvalues d.
%
% Note that Q'*E*Q = diag(2-d).
% Thus Q'*A(alfa,beta)*Q = Q'(alfa*I + beta*E)Q' = alfa*I + beta*Q'*E*Q 
%                       = diag(alfa+beta*(2-d))
%
% So to solve A(alfa,beta)x = b for many different alfa and beta,
% compute btilde = Q'*b once. And then do this for each alfa,beta choice:
%
%            x = Q*(btilde./(alfa+beta*(2-d)))