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