eiggg1te.pas 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. program eiggg1te;
  2. uses
  3. typ,
  4. eig,
  5. iom;
  6. const
  7. m1 = -9;
  8. m2 = 5;
  9. n1 = -10;
  10. n2 = 8;
  11. n3 = -7;
  12. n4 = 6;
  13. var
  14. i, j, l, nex, i1, j1, i2, j2, n, term: ArbInt;
  15. a: array[m1..m2, n1..n2] of ArbFloat;
  16. b: array[m1..m2, n3..n4] of ArbFloat;
  17. lam: array[m1..m2] of ArbFloat;
  18. begin
  19. Write(' program results eiggg1te');
  20. case sizeof(ArbFloat) of
  21. 4: writeln('(single)');
  22. 6: writeln('(real)');
  23. 8: writeln('(double)');
  24. end;
  25. Read(nex);
  26. writeln;
  27. writeln('number of examples', nex: 2);
  28. writeln;
  29. for l := 1 to nex do
  30. begin
  31. writeln('example number', l: 2);
  32. writeln;
  33. Read(i1, j1, i2, j2, n);
  34. for i := 1 to n do
  35. for j := 1 to i do
  36. Read(a[i1 + i - 1, j1 + j - 1]);
  37. for i := 1 to n do
  38. for j := 1 to i do
  39. Read(b[i2 + i - 1, j2 + j - 1]);
  40. eiggg1(a[i1, j1], n, n2 - n1 + 1, b[i2, j2], n4 - n3 + 1, lam[i1], term);
  41. writeln;
  42. writeln('A=');
  43. writeln;
  44. for i := 1 to n do
  45. iomwrv(output, a[i1 + i - 1, j1], i, numdig);
  46. writeln;
  47. writeln('B=');
  48. writeln;
  49. for i := 1 to n do
  50. iomwrv(output, b[i2 + i - 1, j2], i, numdig);
  51. writeln;
  52. writeln('term=', term: 2);
  53. writeln;
  54. if term = 1 then
  55. begin
  56. writeln('lambda=');
  57. iomwrv(output, lam[i1], n, numdig);
  58. writeln;
  59. end;
  60. writeln('-------------------------------------------');
  61. end;
  62. Close(input);
  63. Close(output);
  64. end.