next up previous
Next: C..3 逆反復法 Up: C. 自分でやってみた Previous: C..1 冪乗法

C..2 Rayleigh 商の効果


% naive_vs_rayleigh.m
format long
a=[1 1 1;1 2 2;1 2 3]
eigen=eig(a)
x=ones(3,1);
maxiter=10;
r=zeros(maxiter,1);
n=zeros(maxiter,1);
for k=1:maxiter
    y=a*x;
    x=y/norm(y);
    ax=a*x;
    r(k)=x'*ax;
    n(k)=ax(1)/x(1);
end
r
n
error_r=r-max(eigen)
error_n=n-max(eigen)
%subplot(1,2,1)
%semilogy(1:maxiter,abs(error_r))
%subplot(1,2,2)
%semilogy(1:maxiter,abs(error_n))
clf
semilogy(1:maxiter,abs(error_r),1:maxiter,abs(error_n))

\includegraphics[width=10cm]{eigen-matlab/naive_vs_rayleigh.eps}


next up previous
Next: C..3 逆反復法 Up: C. 自分でやってみた Previous: C..1 冪乗法
Masashi Katsurada
平成17年8月22日