Главная страница  Алгоритмы 

[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] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57]

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

Для исключения опасности преждевременного пере-JJOЛнeния рекомендуется внести в процедуру crout следующие изменения.

1. В заголовке процедуры crout удалить параметр (j,et из совокупности параметров н из совокупности спецификаций.

2. Вычеркнуть операторы, вычисляющие det, а именно

det: = l; det:=-det;

Конец тела процедуры crout, начиная с метки 1аЬ2, заменить на

1аЬ2: for к:= п step -1 until 1 do

у [к]: = b [к] /а [к,к] -scalar (а [к,р] /afk.k] ,у [р], Р,1<-Ы,п)

end crout; . ..... ,-

1 Алгоритм 446 не публикуется здесь потому, что соответствующий алгоритм 44 не был .подтвержден ни в журнале «САСМ», ни в расчетах авторов выпуска. Алгоритм 4 содержит явную ошибку: последний оператор цикла не может выполняться, поскольку в нем .сразу же для р=0 произойдет переполнение при вычислении -2/pi/p.

Бесселевы .функции первого и второго рода .целого порядка М.0ЖН0 вычислить с помощью алгоритма 124а. Бесселевы функции первого рода любого порядка вычисляются алгоритмом 236а.

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

Алгоритм 456 не публикуется здесь, потому что удовлетворительных результатов с помощью алгоритма 15 (и соответственно алгоритма 45а «Расчет платежей По ссудам» [Z]) авторами выпуска получено -не было.

В процедуре топрау алгоритма (и в соответствующей процедуре алгоритма 45) имеется ошибка: метка прау а;Олжна находиться строкой выше, т. е. в .спроке

. прау: d: = l; e:=f:=0; , ,



АЛГОРИТМ 466

Экспоненциальная функция комплексного аргумента [ВЗ]

Процедура ехрс определяет компоненты числа c+di равного по значению функции е"+Ч procedure ехрс(a,b) result: (c,d);

value a,b; real a,b,c,d; begin c: = exp(a); d: = cXsin(b); c: = cXcos(b) end expc;

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

Алгоритм 466 является стереотипным переизданием алгоритма 46а. Вследствие элементарности алгоритма контрольно?! трансляции i-ie делалось.

---;€видетельство к алгоритму 46а

Алгоритм 46а получен в результате ординарной переработки алгоритма 46 (Herndon J. R. «САСМ», 1961 № 4).

Подтверждение к алгоритму 46

А. П. Релф (Rel ph А. Р. «САСМ», 1962, № 6)

Алгоритм 46 был проверен на .маплине с использованием транслятора DEUCE ALGOL. Не потребовалось никаких исправлений, получены удовлетворительные результаты.

АЛГОРИТМ 476

Присоединенные функции Лежандра nepisoro рода для вещественных и мнимых аргументов [S16]

Нижеследующая вещественная процедура-функция legendr 47 вычисляет значение функции Лежандра {х), если задано г = true, и значение функции {iy,x)\, если задано г false. Значения /гит -целые и тunreal procedure legendr47(m,n,x,r);

value m,n,x,r; real x; integer m,n; Boolean r;



jjcgin real p,z,.w,y; integer i,j,k; array g[l:41j; p: = 0; k: = n-m; if n<m then go to fin; if n = 0 then

begin p: = 1; go to fin end; gtl]: = l; j:=2Xn;

for i:= 1 step 1 until j do g[i+l]: = iXgM; j:=k-b2; if x=0 then begin i:=j;

if k2Xi then go to fin; p: = g[m + n + l]/(g{i + l]Xg{m + i+l]); if rthen p: = px(-Ufi; go to lab end;

z:=xtk; y: = l/xf2; • if r then y:=-y; for i:= 1 step 1 until 12 do begin k: = n-i;

if j + l<i then go to lab; p: p + gI2 X к+3] X z/ (gfi] X 0[k+2] X g(k-i-

m + 3]); z:=zXy end i; р: = р/2п; w:=-1; if~i rthen

begin w: = l; i: = n-4X {пн-4);

if i>l then p:=-p end; "

z: = sqrt(abs(w+xf2)); p: = pXzfm; legendr47: = p :nd legendr47;

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

Алгоритм 476 получен из алгоритма 47а путем внесе-:я в него поправок, указанных в нижеследующем 1одтверждении к алгоритму 47» С. Кобба, и одной Ьдификации, заключающейся в том, что оператор

for i:= 1 step 1 until m do p: = pXz;

ИЛ заменен равноценным ему, но более коротким опе-атором

p:=pXzfm;




[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] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57]

0.043