Курсовая работа: Знаходження власних значеннь лінійого оператора

begin

h:=0; g:=0; f:=0; y:=0;

for i:=1 to n do

begin

x:=sqr(a[i,k]);d:=sqr(a[i,j]); y:=y+x-d;

if (i<>k) and (i<>j) then

begin

h:=h+a[k,i]*a[j,i]-a[i,k]*a[i,j];

p:=x+sqr(a[j,i]); r:=d+sqr(a[k,i]);

g:=g+p+r; f:=f-p+r;

end;

end;

h:=2*h; d:=a[k,k]-a[j,j];

p:=a[k,j]+a[j,k]; r:=a[k,j]-a[j,k];

if abs(p)<=e then begin c:=1; s:=0; end

else

begin

x:=d/p; c:=x+zn(x)*sqrt(1+x*x);

s:=zn(x)/sqrt(1+c*c); c:=s*c;

end;

if y<0 then begin x:=c; c:=s; s:=-x; end;

co:=c*c-s*s; si:=2*s*c; d:=d*co+p*si;

h:=h*co-f*si; x:=(r*d-h/2)/(g+2*(r*r+d*d));

if abs(x)<=e

then begin ch:=1; sh:=0; end

else begin ch:=1/sqrt(1-x*x); sh:=ch*x; end;

c1:=ch*c-sh*s; c2:=ch*c+sh*s;

s1:=ch*s+sh*c; s2:=-ch*s+sh*c;

if (abs(s1)>e)or(abs(s2)>e) then

К-во Просмотров: 253
Бесплатно скачать Курсовая работа: Знаходження власних значеннь лінійого оператора