% arngo.m Demuestra las prestaciones de arnoldi_W.m
load west0479, A = west0479;     % Matriz dispersa 479x479
n = size(A,1);
ns = 30;                         % 30 iteraciones de Arnoldi
randn('state',321)               % mismo vector aleatorio cada vez
x = randn(n,1); tic              % vector de partida aleatorioa
[U,H,flag] = arnoldi_W(A,ns,x);
if flag == 0
   residual = norm(A*U(:,1:ns)-U*H)
   orthocheck = norm(eye(ns+1)-U'*U)
   ritz = eig(H(1:ns,1:ns),'nobalance'), toc, tic
   lam  = eig(full(A));   % cálculo de todos los val. propios de A
   toc, figure(1)
   plot(real(lam),imag(lam),'r+',real(ritz),imag(ritz),'bo')
end