![]() |
Главная страница Алгоритмы [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.0216 |
|