123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- program eigsv3te;
- uses
- typ,
- iom,
- omv,
- eig;
- const
- m1 = -4;
- m2 = 20;
- n1 = -5;
- n2 = 10;
- r1 = -3;
- r2 = 18;
- s1 = -2;
- s2 = 18;
- x1 = -5;
- x2 = 22;
- y1 = -3;
- y2 = 21;
- l1 = -2;
- l2 = 17;
- rwa = n2 - n1 + 1;
- rwu = s2 - s1 + 1;
- rwv = y2 - y1 + 1;
- var
- ex, nex, k, i, j, m, n, p, term, l, r, s, x, y: ArbInt;
- a, usvt, e: array[m1..m2, n1..n2] of ArbFloat;
- u, ut, utu, us: array[r1..r2, s1..s2] of ArbFloat;
- v, vt, vtv: array[x1..x2, y1..y2] of ArbFloat;
- q: array[l1..l2] of ArbFloat;
- begin
- Write(' program results eigsv3te');
- 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, r, s, x, y, m, n);
- iomrem(input, a[k, p], m, n, rwa);
- eigsv3(a[k, p], m, n, rwa, q[l], u[r, s], rwu, v[x, y], rwv, term);
- writeln;
- writeln(' a =');
- iomwrm(output, a[k, p], m, n, rwa, 17);
- writeln;
- writeln(' term=', term: 2);
- if term = 1 then
- begin
- writeln;
- writeln(' q =');
- iomwrv(output, q[l], n, numdig);
- writeln;
- writeln(' u =');
- iomwrm(output, u[r, s], m, n, rwu, numdig);
- writeln;
- writeln(' v =');
- iomwrm(output, v[x, y], n, n, rwv, numdig);
- writeln;
- writeln(' u(t) x u =');
- omvtrm(u[r, s], m, n, rwu, ut[r, s], rwu);
- omvmmm(ut[r, s], n, m, rwu, u[r, s], n, rwu, utu[r, s], rwu);
- iomwrm(output, utu[r, s], n, n, rwu, numdig);
- writeln;
- writeln(' v(t) x v =');
- omvtrm(v[x, y], n, n, rwv, vt[x, y], rwv);
- omvmmm(vt[x, y], n, n, rwv, v[x, y], n, rwv, vtv[x, y], rwv);
- iomwrm(output, vtv[x, y], n, n, rwv, numdig);
- writeln;
- writeln(' a - u x sigma x v(t) = ');
- for i := 1 to m do
- for j := 1 to n do
- us[r - 1 + i, s - 1 + j] := u[r - 1 + i, s - 1 + j] * q[l - 1 + j];
- omvmmm(us[r, s], m, n, rwu, vt[x, y], n, rwv, usvt[k, p], rwa);
- for i := 1 to m do
- for j := 1 to n do
- e[k - 1 + i, p - 1 + j] := a[k - 1 + i, p - 1 + j] - usvt[k - 1 + i, p - 1 + j];
- iomwrm(output, e[k, p], m, n, rwa, numdig);
- end;
- end;
- Close(input);
- Close(output);
- end.
- program eigsv3te;
- uses
- typ,
- iom,
- omv,
- eig;
- const
- m1 = -4;
- m2 = 20;
- n1 = -5;
- n2 = 10;
- r1 = -3;
- r2 = 18;
- s1 = -2;
- s2 = 18;
- x1 = -5;
- x2 = 22;
- y1 = -3;
- y2 = 21;
- l1 = -2;
- l2 = 17;
- rwa = n2 - n1 + 1;
- rwu = s2 - s1 + 1;
- rwv = y2 - y1 + 1;
- var
- ex, nex, k, i, j, m, n, p, term, l, r, s, x, y: ArbInt;
- a, usvt, e: array[m1..m2, n1..n2] of ArbFloat;
- u, ut, utu, us: array[r1..r2, s1..s2] of ArbFloat;
- v, vt, vtv: array[x1..x2, y1..y2] of ArbFloat;
- q: array[l1..l2] of ArbFloat;
- begin
- Write(' program results eigsv3te');
- 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, r, s, x, y, m, n);
- iomrem(input, a[k, p], m, n, rwa);
- eigsv3(a[k, p], m, n, rwa, q[l], u[r, s], rwu, v[x, y], rwv, term);
- writeln;
- writeln(' a =');
- iomwrm(output, a[k, p], m, n, rwa, 17);
- writeln;
- writeln(' term=', term: 2);
- if term = 1 then
- begin
- writeln;
- writeln(' q =');
- iomwrv(output, q[l], n, numdig);
- writeln;
- writeln(' u =');
- iomwrm(output, u[r, s], m, n, rwu, numdig);
- writeln;
- writeln(' v =');
- iomwrm(output, v[x, y], n, n, rwv, numdig);
- writeln;
- writeln(' u(t) x u =');
- omvtrm(u[r, s], m, n, rwu, ut[r, s], rwu);
- omvmmm(ut[r, s], n, m, rwu, u[r, s], n, rwu, utu[r, s], rwu);
- iomwrm(output, utu[r, s], n, n, rwu, numdig);
- writeln;
- writeln(' v(t) x v =');
- omvtrm(v[x, y], n, n, rwv, vt[x, y], rwv);
- omvmmm(vt[x, y], n, n, rwv, v[x, y], n, rwv, vtv[x, y], rwv);
- iomwrm(output, vtv[x, y], n, n, rwv, numdig);
- writeln;
- writeln(' a - u x sigma x v(t) = ');
- for i := 1 to m do
- for j := 1 to n do
- us[r - 1 + i, s - 1 + j] := u[r - 1 + i, s - 1 + j] * q[l - 1 + j];
- omvmmm(us[r, s], m, n, rwu, vt[x, y], n, rwv, usvt[k, p], rwa);
- for i := 1 to m do
- for j := 1 to n do
- e[k - 1 + i, p - 1 + j] := a[k - 1 + i, p - 1 + j] - usvt[k - 1 + i, p - 1 + j];
- iomwrm(output, e[k, p], m, n, rwa, numdig);
- end;
- end;
- Close(input);
- Close(output);
- end.
|