Originally Posted by
CaptainBlack Let
be a matrix with an eigen value of absolute value greater than that of its other eigen values, then the ittereation:
converges to the eigen vector corresponding to the eigen vector of largest absolute value.
If
is this limit the largest eigen value can be found from any component of the equation:
So you start with a random vector
and apply the itteration in
to it untill a satisfactory lefel of convergence is observed, then use any non-zero component of
and equation
to find the eigen value.
Now this requires a lot of computation and I expect you are supposed to use some sort of tool to perform the itteration.
RonL
This can be mechanised as in the following:
Code:
>A=[4,1,-1;2,3,-1;-2,1,5]
4 1 -1
2 3 -1
-2 1 5
>
>function itterate(A)
$ bm=random(3,1);
$ repeat
$
$ bp=A.bm;
$ bp=bp/sqrt(sum((bp^2)'));
$ l=A.bp/bp;
$ lambda=l(1);
$ if totalmax(abs(bm-bp))<1e-6
$ break
$ endif
$ bm=bp;
$ end
$ return {lambda,bp}
$endfunction
>
>{lambda,b}=itterate(A);lambda," ",b
6
0.577351
0.577351
-0.577349
>
RonL