123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- program eigts2te;
- uses
- eig,
- iom,
- typ;
- const
- m1 = -9;
- m2 = 37;
- var
- t: ArbFloat;
- i, ex, nex, k1, k2, i1, j1, n, term: ArbInt;
- d, cd, lam: array[m1..m2] of ArbFloat;
- begin
- Write(' program results eigts2te');
- case sizeof(ArbFloat) of
- 4: writeln('(single)');
- 6: writeln('(real)');
- 8: writeln('(double)');
- end;
- Read(nex);
- writeln;
- writeln('number of examples', nex: 2);
- writeln;
- for ex := 1 to nex do
- begin
- writeln('example number', ex: 2);
- writeln;
- if ex < nex then
- begin
- Read(i1, j1, n, k1, k2);
- iomrev(input, d[i1], n);
- iomrev(input, cd[j1 + 1], n - 1);
- end
- else
- begin
- i1 := 1;
- j1 := 1;
- n := 30;
- k1 := 5;
- k2 := 8;
- for i := 1 to n do
- begin
- t := i;
- d[i] := sqr(t * t);
- end;
- for i := 2 to n do
- cd[i] := i - 1;
- end;
- eigts2(d[i1], cd[j1 + 1], n, k1, k2, lam[j1 + k1 - 1], term);
- writeln('diag =');
- iomwrv(output, d[i1], n, numdig);
- writeln('codiag =');
- iomwrv(output, cd[j1 + 1], n - 1, numdig);
- writeln;
- writeln('k1=', k1: 2, ' k2=', k2: 2);
- writeln;
- writeln('term=', term: 2);
- if term = 1 then
- begin
- writeln('lambda=');
- iomwrv(output, lam[j1 + k1 - 1], k2 - k1 + 1, numdig);
- end;
- writeln('------------------------------------------------------');
- end;
- Close(input);
- Close(output);
- end.
|