eigts1te.pas 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. program eigts1te;
  2. uses
  3. typ,
  4. iom,
  5. eig;
  6. const
  7. m1 = -9;
  8. m2 = 37;
  9. var
  10. i, ex, nex, i1, j1, n, term: ArbInt;
  11. t: ArbFloat;
  12. d, cd, lam: array[m1..m2] of ArbFloat;
  13. begin
  14. Write(' program results eigts1te');
  15. case sizeof(ArbFloat) of
  16. 4: writeln('(single)');
  17. 6: writeln('(real)');
  18. 8: writeln('(double)');
  19. end;
  20. Read(nex);
  21. writeln;
  22. writeln('number of examples', nex: 2);
  23. writeln;
  24. for ex := 1 to nex do
  25. begin
  26. writeln('example number', ex: 2);
  27. writeln;
  28. if ex < nex then
  29. begin
  30. Read(i1, j1, n);
  31. iomrev(input, d[i1], n);
  32. iomrev(input, cd[j1 + 1], n - 1);
  33. end
  34. else
  35. begin
  36. i1 := 1;
  37. j1 := 1;
  38. n := 30;
  39. for i := 1 to n do
  40. begin
  41. t := i;
  42. d[i] := sqr(t * t);
  43. end;
  44. for i := 2 to n do
  45. cd[i] := i - 1;
  46. end;
  47. eigts1(d[i1], cd[j1 + 1], n, lam[j1], term);
  48. writeln('diag =');
  49. iomwrv(output, d[i1], n, numdig);
  50. writeln('codiag =');
  51. iomwrv(output, cd[j1 + 1], n - 1, numdig);
  52. writeln;
  53. writeln('term=', term: 2);
  54. if term = 1 then
  55. begin
  56. writeln;
  57. writeln('lambda=');
  58. iomwrv(output, lam[j1], n, numdig);
  59. end;
  60. writeln('------------------------------------------------------');
  61. end;
  62. Close(input);
  63. Close(output);
  64. end.
  65. program eigts1te;
  66. uses
  67. typ,
  68. iom,
  69. eig;
  70. const
  71. m1 = -9;
  72. m2 = 37;
  73. var
  74. i, ex, nex, i1, j1, n, term: ArbInt;
  75. t: ArbFloat;
  76. d, cd, lam: array[m1..m2] of ArbFloat;
  77. begin
  78. Write(' program results eigts1te');
  79. case sizeof(ArbFloat) of
  80. 4: writeln('(single)');
  81. 6: writeln('(real)');
  82. 8: writeln('(double)');
  83. end;
  84. Read(nex);
  85. writeln;
  86. writeln('number of examples', nex: 2);
  87. writeln;
  88. for ex := 1 to nex do
  89. begin
  90. writeln('example number', ex: 2);
  91. writeln;
  92. if ex < nex then
  93. begin
  94. Read(i1, j1, n);
  95. iomrev(input, d[i1], n);
  96. iomrev(input, cd[j1 + 1], n - 1);
  97. end
  98. else
  99. begin
  100. i1 := 1;
  101. j1 := 1;
  102. n := 30;
  103. for i := 1 to n do
  104. begin
  105. t := i;
  106. d[i] := sqr(t * t);
  107. end;
  108. for i := 2 to n do
  109. cd[i] := i - 1;
  110. end;
  111. eigts1(d[i1], cd[j1 + 1], n, lam[j1], term);
  112. writeln('diag =');
  113. iomwrv(output, d[i1], n, numdig);
  114. writeln('codiag =');
  115. iomwrv(output, cd[j1 + 1], n - 1, numdig);
  116. writeln;
  117. writeln('term=', term: 2);
  118. if term = 1 then
  119. begin
  120. writeln;
  121. writeln('lambda=');
  122. iomwrv(output, lam[j1], n, numdig);
  123. end;
  124. writeln('------------------------------------------------------');
  125. end;
  126. Close(input);
  127. Close(output);
  128. end.