eigge1te.pas 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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.
  52. program eigge1te;
  53. uses
  54. typ,
  55. iom,
  56. eig;
  57. const
  58. m1 = -9;
  59. m2 = 5;
  60. n1 = -10;
  61. n2 = 8;
  62. var
  63. i, l, nex, i1, j1, n, term: ArbInt;
  64. a: array[m1..m2, n1..n2] of ArbFloat;
  65. lam: array[m1..m2] of complex;
  66. begin
  67. Write(' program results eigge1te');
  68. case sizeof(ArbFloat) of
  69. 4: writeln('(single)');
  70. 6: writeln('(real)');
  71. 8: writeln('(double)');
  72. end;
  73. Read(nex);
  74. writeln;
  75. writeln('number of examples', nex: 2);
  76. writeln;
  77. for l := 1 to nex do
  78. begin
  79. writeln('example number', l: 2);
  80. writeln;
  81. Read(i1, j1, n);
  82. iomrem(input, a[i1, j1], n, n, n2 - n1 + 1);
  83. eigge1(a[i1, j1], n, n2 - n1 + 1, lam[i1], term);
  84. writeln;
  85. writeln('A=');
  86. writeln;
  87. iomwrm(output, a[i1, j1], n, n, n2 - n1 + 1, numdig);
  88. writeln('term=', term: 2);
  89. writeln;
  90. if term = 1 then
  91. begin
  92. writeln('lambda=');
  93. writeln(' ': 8, 'Re', ' ': 14, 'Im');
  94. for i := 1 to n do
  95. writeln(lam[i1 + i - 1].re: numdig, ' ', lam[i1 + i - 1].im: numdig);
  96. writeln;
  97. end;
  98. writeln('-------------------------------------------');
  99. end;
  100. Close(input);
  101. Close(output);
  102. end.