eiggs2te.pas 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. program eiggs2te;
  2. uses
  3. typ,
  4. iom,
  5. eig;
  6. const
  7. m1 = -9;
  8. m2 = 7;
  9. n1 = -10;
  10. n2 = 8;
  11. var
  12. i, j, ex, nex, k1, k2, i1, j1, n, term: ArbInt;
  13. a: array[m1..m2, n1..n2] of ArbFloat;
  14. lam: array[m1..m2] of ArbFloat;
  15. begin
  16. Write(' program results eiggs2te');
  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 ex := 1 to nex do
  27. begin
  28. writeln('example number', ex: 2);
  29. writeln;
  30. Read(i1, j1, n, k1, k2);
  31. for i := 1 to n do
  32. for j := 1 to i do
  33. Read(a[i1 + i - 1, j1 + j - 1]);
  34. eiggs2(a[i1, j1], n, n2 - n1 + 1, k1, k2, lam[i1 + k1 - 1], term);
  35. writeln;
  36. writeln('A=');
  37. writeln;
  38. for i := 1 to n do
  39. iomwrv(output, a[i1 + i - 1, j1], i, numdig);
  40. writeln;
  41. writeln('k1 =', k1: 2, ' k2 =', k2: 2);
  42. writeln;
  43. writeln('term=', term: 2);
  44. if term = 1 then
  45. begin
  46. writeln;
  47. writeln('lambda=');
  48. iomwrv(output, lam[i1 + k1 - 1], k2 - k1 + 1, numdig);
  49. end;
  50. writeln('----------------------------------------------------');
  51. end;
  52. Close(input);
  53. Close(output);
  54. end.