Page 43 - ЭВМ
P. 43
При этом для получения t i+1 на каждом шаге необходимо про-
вести два умножения и одно вычитание.
Ограничиваясь тремя слагаемыми для разложения 1/(1 – δ 1)
2
2
в виде ряда, находим 1/у ≈ t 1 (1 + δ 1 + δ 1 ) = t 1 (3(1 – yt 1) + (yt 1) ), что
дает уточненное значение t 2 для 1/у:
2
t 2 = t 1 (3(1 – yt 1) + (yt 1) ).
По аналогии получаем итерационную формулу для 1/у:
2
t i = t i (3(1 – yt i) + (yt i) ). (1.3)
Определим погрешность определения 1/у для этого случая. По
определению t 1 = (1/y ) (1 – δ 1). Из итерационной формулы
t 2 = (1/y)(1 – δ 1)(2 – y ·(1/y)(1 – δ 1)) =
2
= (1/y)(1 – δ 1)(2 – 1 + δ 1) = (1/y)(1 – δ 1 ),
2
t 2 = 1/y(1 – δ 1) [3 ⋅ (1 – y ⋅ (1/y)(1 – δ 1) + ( y ⋅ (1/y)(1 – δ 1)) )] =
2
= (1/y)(1 – δ 1) [3 ⋅ (1 – (1 – δ 1)) + (1 – δ 1) ] =
2
2
= (1/y)(1 – δ 1) [3δ 1 + (1 – δ 1) ] = (1/y)(1 – δ 1) [3δ 1 + 1 – 2δ 1 + δ 1 ] =
2
3
= (1/y)(1 – δ 1) [1 + δ 1 + δ 1 ] = (1/y)(1 – δ 1),
3i
и при любом i t i = (1/y) (1 – δ 1 ).
Отметим, что для получения t i+1 на каждом шаге в этом случае
необходимо провести четыре умножения и два сложения-вычитания.
Сравнение двух итерационных формул для получения 1/у про-
ведем по требуемому времени для достижения требуемой точности.
Пусть исходное значение (точность) 1/у задано k разрядами, вре-
мя выполнения по итерационным формулам (1.3) и (1.2) равно по чис-
лу операций, соответственно, 6t и 3t.
Пусть требуемая точность 1/у задана числом разрядов n. Тогда
требуемое число итерационных шагов по формулам (1.3) и (1.2) равно
соответственно log 3 n/k и log 2 n/k.
Затрачиваемое время на вычисление по формулам (1.3) и (1.2)
равно соответственно 6t log 3 n/k и 3t log 2 n/k.
Найдём отношение времён:
6log n k = 1lg2 = 1,262.
t
/
3
3log n k lg3
/
t
2
При заданных условиях способ (1.2) выгодней (обеспечивает
меньшее время) в 1,262 раза.
43