eigge1te.pas 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. program eigge1te;
  2. uses
  3. typ,
  4. iom,
  5. eig;
  6. const
  7. m1 = -9;
  8. m2 = 5;
  9. n1 = -10;
  10. n2 = 8;
  11. var
  12. i, l, nex, i1, j1, n, term: ArbInt;
  13. a: array[m1..m2, n1..n2] of ArbFloat;
  14. lam: array[m1..m2] of complex;
  15. begin
  16. Write(' program results eigge1te');
  17. case sizeof(ArbFloat) of
  18. 4: writeln('(single)');
  19. 6: writeln('(real)');
  20. 8: writeln('(double)');
  21. end;
  22. Read(nex);
  23. writeln;
  24. writeln('number of examples', nex: 2);
  25. writeln;
  26. for l := 1 to nex do
  27. begin
  28. writeln('example number', l: 2);
  29. writeln;
  30. Read(i1, j1, n);
  31. iomrem(input, a[i1, j1], n, n, n2 - n1 + 1);
  32. eigge1(a[i1, j1], n, n2 - n1 + 1, lam[i1], term);
  33. writeln;
  34. writeln('A=');
  35. writeln;
  36. iomwrm(output, a[i1, j1], n, n, n2 - n1 + 1, numdig);
  37. writeln('term=', term: 2);
  38. writeln;
  39. if term = 1 then
  40. begin
  41. writeln('lambda=');
  42. writeln(' ': 8, 'Re', ' ': 14, 'Im');
  43. for i := 1 to n do
  44. writeln(lam[i1 + i - 1].re: numdig, ' ', lam[i1 + i - 1].im: numdig);
  45. writeln;
  46. end;
  47. writeln('-------------------------------------------');
  48. end;
  49. Close(input);
  50. Close(output);
  51. end.