Professional Documents
Culture Documents
Ypologismos Idiotimwn
Ypologismos Idiotimwn
(()=|max|)
n (
) | max|> i, imax.
max . ,
( n
), | max|> i, imax.
(. . [1], IV.4)
:
x k + 1 = A k x k , k = 0,1,2
x k + 1 =
:
lim k
x k = v1 = v max
lim k
xi , k + 1
xi , k
(3.1)
= 1 = max i=1,,n,
(3.1) ,
n (1).
, q1, q2qn
, 1=-1q1q1 1, : 0, 2,3,n,
q2qn (. [1], V.4.2). ,
|1||2||3||n|,
:
s0=[1,1,1]T;
[1, v1] = powerm(, s0);
For i=1:n-1 do
qi=vi/||vi||;
i=i-1- i qiqiT
[i, vi]= powerm(i, qi);
end;
n
.
3.1
, , n
. .
,
(n 1).
function (-file) Matlab power_method ,
2
(. [1]).
function [v, l, V, L, iter, done] = power_method(A, eps, max)
%
% (A) v
% nxn n
% ' 1.
% INPUT:
%
A: rectangular input matrix
%
eps: tolerance;
%
max: maximum number of iterations
% OUTPUT:
%
v: eigenvector
%
l: max
%
V: history of eigenvectors' iterations
%
L: history of eigenvalues' iterations
%
iter: number of iterations needed to reach tolerance
%
done: logical value indicating method success
[m,n] = size(A) ;
if m ~= n return;
end;
x0 = ones(n,1); %starting vector
V = x0'; L=[]; %initializations
xp = x0;
done = false;
i=0;
while ~done & (i < max)
i=i+1;
u=A*xp ;
lamda=norm(u,2);
xn=u/lamda;
V=[V;xn'];
L=[L;lamda]; %updating history matrices
done = norm(xn-xp)<=eps;
xp=xn;
end;
iter = i;
if done
l = lamda;
v = xn;
end
. :
A=[1 0 0 0 ; 0 8 4 0 ; 0 4 8 0 ; 0 0 0 2];
[v, l, V, L, iter, done] = power_method (A, 0.001, 100)
:
v=
0.0000
0.7071
0.7071
0.0001
l=
12.0000
V=
1.0000
0.0584
0.0049
0.0004
0.0000
0.0000
1.0000
0.7010
0.7070
0.7071
0.7071
0.7071
1.0000
0.7010
0.7070
0.7071
0.7071
0.7071
1.0000
0.1168
0.0196
0.0033
0.0005
0.0001
L=
17.1172
11.8996
11.9976
11.9999
12.0000
iter =
5
done =
1
.
B=
10 2 -5 1
0 9 4 -3
0 4 30 15
2 15 1 25
, Matlab ( [V, D] = eig()), .
: 34.4862, 14.9202+4.8009i, 14.9202-4.8009i, 9.6733. ()=34.4862
v(A)=(-0.1730, 0.1188, 0.9450, 0.2509).
. :
eps=1.0e-006.
>> [v, l, V, L, iter, done] = power_method (B, 0.000001, 100)
v=
-0.1730
0.1188
0.9450
0.2509
l=
34.4862
V=
1.0000 1.0000
1.0000
1.0000
0.1204
-0.0405
-0.1096
-0.1427
-0.1590
-0.1669
-0.1705
-0.1721
-0.1727
-0.1730
-0.1730
-0.1730
-0.1730
-0.1730
-0.1730
-0.1730
-0.1730
-0.1730
-0.1730
L=
66.4379
37.9086
36.9067
35.9029
35.2149
34.8201
34.6223
34.5342
34.4994
34.4877
34.4847
34.4846
34.4851
34.4856
34.4859
34.4860
34.4861
34.4861
34.4862
iter =
19
done =
1
=[2, 4, -1; 4, 6, 1; -1, 1, 4].
. 2.
:
1. . . ,
, 2007.
2. . . , .