Главная Промышленная автоматика.

Для решения этой задачи задавались .параметры с=0, Ь=1 и procedure gamma (t,z);

value t; real t; array z; begin zIl]:-=2Xt; z[2]: = t end

для вычисления Ii задавалась procedure func(z,f);

array z,f; begin f[l]:z[l]; f[2]:=0 end

a для вычисления h тело процедуры func имело вид

begin f[l]: = z[2]; f[2J: = 0 end Уже при n=l были получены точные результаты Ii=2+i и /2=1+*72.

2. Задача 888 (2). Вычисление Ii= f xdz по полуокрулности l2; = = 1, у>0 (начало пути в точке 2=1).

Задавались параметры а-О, 6=3.141592654, тело процедуры gamma

begin z[l]:==cos(t); z[2]: = sin(t) end и процедура func такая же, как и в задаче 1. Результаты приведены в табл. 22.

Таблица 22

sum2

sum2

sutnS

1.5450849

1.5697629

1.5707549

1.5666654

1.5705379

1.5707859

Значения suml были в пределах от О.Эю-12 до 0.23io-10; точное значение /i=tX3t/2=t XII.57079633; время вычисления интеграла для п= =250 было 11с и для п=500-il9 с.

5. Задача 5Р5(/. Вычисление йг/\/Т=- 2-\-i2 по полуокружности

z= 1. г/>0 и У1=1.

Задавались параметры а=0, 6=3.44159265, процедура gamma, как в задаче 2, и тело процедуры func

begin f[l]: = sqrt(0.5Xi(l+z[l])); f[2]:=-sqrt(0.5X (l-z[l])) Выражения для f[l] и /[2] следуют из соотношений

J liT: ,АГ-г---:-г-. / t \

= Vzi - tZi = у cost - isint = cos

Результаты приведены в табл. 23.

1-2,

Таблица 23

sum2

sum2

sum2

1.9802187

1.9988246

1.9999372

1.9959690

1.9996638

1.9999825



Значения suml отличались от значений sum2 только зна)ком; ©ремя вычисления интеграла для п=250 было 10с, а для п=500-20с.

4. Задача 392 (1). Вычисление ] zMz=-Уз по полуокружности Iz = l, 0arg(2)jt, начало пути в точке 2=1.

Задавались параметры а=Ь, &=.3.14159265, процедура gamma,KaK в задаче 2, тело процедуры func

begin fa]: = l-2Xzl2]t2; f[2]:=2Xz[llXz[2] end Результаты приведены в табл. 24.

Табли ца 24

suml

suml

suml

-0.72123174

-0.66885947

-0.66675439

-0.67543273

-0.66721495

-0.66668859

Значения sum2 были в пределах от -0.13

-8 до -21с.

-О.ЗЭю-8; время

вычисления для п=250 было Пси для п=500-

5. Задача 387 (3). Вычисление / zdz-i2n по окружности радиуса Г- 1 с центром в начале координат.

Задавались параметры с=0, Ь=2я=6.2831853, процедура gamma,, как в задаче 2, тело процедуры func

begin f[l]: = z[l]; f[2]:=-z[2} end

Результаты приведены в табл. 25.

Таблица 25

sum2

sum2

sum2

6.2666616

6.2825238

1000

6.2831439

6.2790519

6.2830199

2000

6.2831749

Значения suml были в пределах от 0.4io-И до 0.2io-10; время вычисления интеграла для п=250 .было 11 с и для п=500-2 с.

Комплексные интегралы описываются, например, в работе М. А. Лаврентьева и Б. В. Шабата [34, с. 45].

Свидетельство к алгоритму 98а

Алгоритм 98а получен в результате исправления, сокращения, оптимизации и ординарной переработки алгоритма 98 (Р f а 11 z J. L. «САСМ», 1962, № 6).

Исправление заключалось в локализации массива fz (в алгоритме 98 ему соответствует массив FZ). Оптимизация состояла в замене массивов RSSUM, ZTL, DELZ, PART [1:2] простыми переменными suml, sum2, ztll, ztl2, delzl, delz2, parti и part2 для ускорения работы алгоритма.



АЛГОРИТМ 996

Ёычисиекие символа Якоби [А1]

Процедура symjac вычисляет значение символа Якоби (- по закону квадратичной взаимности. Если т - нечетное, то параметру г присваивается одно из трех значений: -1, О, 1. Если т - четное, то символ Якоби не определен и параметру г присваивается значение 2. Для нечетных т программа предусматривает проверку, являются ли т и п взаимно простыми. Значение г=0 в том и только з том случае, если тип имеют нетривиальный общий множитель. В специальном случае, когда т простое, г--1, если только п является квадратичным невычетом числа т.

procedure symjac(n,m)result:(г);

value n,m; integer n,m,r; begin integer s; Boolean p,q;

Boolean procedure parity (x); value x; integer x;

comment Значение функции parity будет true, если x нечетное, и false, если x - четное;

parity:=x-2X2=x; start: if П parity (m) then

begin r:=2; go to final end; p:= true; cycle:n: = n-n-mXm; q:= false;

if nl then go to done; even: if "] parity(n) then

begin q:= ~1 q; n: = n-2; go to even

end теперь n нечетное; -

if qAparity((mf2-1)-4-8) thenp:="~l p; if n=l then go to done; if parity((m-1) X (n-1) -i-4) then p:= "1 p; s:=m; m: = n; n:=s; go to cycle; •done: r:= if n=0 then 0 else

if p then 1 else -1; final: end symjac;

Свидетельство к алгоритму 996

Алгоритм 996 является стереотипным переизданием алгоритма 99а.

Свидетельство к алгоритму 99а

Алгоритм 99а получен в результате исправления и ординарной переработки алгоритма 99 (G а г 1 а пd S. J., Knapp А. W. «САСМ», 1962, №6).

Исправлена одна синтаксическая ошибка, указанная в «Замечании к алгоритму 99» (М а у R. W. «САСМ», 1962, № .11).

В результате трансляции алгоритма 99а получено: ~ •

- =11 {п-5-квадратичный вычет).





0 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

0.0017