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
   38   39   40   41   42   43   44   45   46   47   48