■コラム 「ルートの近似計算」(改訂)

 ルート(平方根)を求めるとき、2乗して最も近い数を探していくのが基本ですが、
その直接計算は非常に大変なため、ヘロン(B.C.130〜75?)(詳しくはヘロンのコラム参照)
などが活躍していた古代ギリシャにおいては、すでに「近似式」が用いられていました。

 この近似式ですが、√A を求める場合、A = M2 なる M を見つける訳ですが、
一般に M は整数とはならないため、整数 α0, b を用いて 

       A = α02 ± b   ( α02 は平方因子、±b は調整項) ・・・@

と、A をまず平方表現します。(α0 は √A の第0近似値)

 ここで、調整項 ±b は A と α02 との差の絶対値が最も小さくなるように
選びます。 

          <<平方表現>>
        2 = 12 + 1  
        3 = 22 - 1   
        5 = 22 + 1   
        6 = 22 + 2   
        7 = 32 - 2       
        8 = 32 - 1
       10 = 32 + 1
       11 = 32 + 2
       12 = 32 + 3
       13 = 42 - 3
                  ・
                  ・
                  ・
-------------------------------------------------------------------------------
問1.2483 の平方表現を示せ。但し、調整項はその絶対値が最小のものとする。

答.  2483 = 492 + 82                                   ・・・A
      2483 = 502 −17                                  ・・・A'

より、A' が 2483 の平方表現。
-------------------------------------------------------------------------------

 さて、@の平方表現を用い √A のn次近似式(n=1,2,..) α1, α2, ..
を次のように定義します。

      α1 = 1/2(α0 + A/α0)    (第1近似式)            ・・・B
      α2 = 1/2(α1 + A/α1)    (第2近似式)            ・・・C
              ・        ・
              ・        ・   
      αn = 1/2(αn-1 + A/αn-1)   (第n近似式)            ・・・D

 また、第1近似式で A を α02 ± b で置き換えた

      α1 =  a ± b/2α0         (第1近似式*)           ・・・B'

も有名な近似式です。(数学史上は、Bの方が後に生まれています。
B,B'は同一の式です。)

-------------------------------------------------------------------------------
問2.BからB'を導け。

答. 1/2(α0 + A/α0) = 1/2{α0 + (α02 ± b)/α0} = 1/2{α020 + (α02 ± b)/α0}

    = 1/2{(2α02 ± b)/α0} = 1/2(2α0 ± b/α0) = a ± b/2α0
-------------------------------------------------------------------------------

 B及びB'の第1近似式で各ルートの近似値を出してみると、

            √2 = 1.4142135・・・
      α1 = 1/2(1+ 2/1) = 3/2 = 1.5      (第1近似式)
      α1 = 1 + 1/2 = 1.5               (第1近似式*) 

            √3 = 1.7320508・・・
      α1 = 1/2(2+ 3/2) = 7/4 = 1.75     (第1近似式)
      α1 = 2 - 1/4 = 1.75              (第1近似式*) 

            √5 = 2.2360679・・・
      α1 = 1/2(2 + 5/2) = 9/4 = 2.25     (第1近似式)
      α1 = 2 + 1/4 = 2.25              (第1近似式*) 

            √7 = 2.6457513・・・
      α1 = 1/2(3 + 7/3) = 16/6 = 2.66…  (第1近似式)
      α1 = 3 - 2/6 = 2.66…            (第1近似式*) 

               ・        ・
               ・        ・

と、実用上まあまあの近似値を出します。

-------------------------------------------------------------------------------
問3.√2483 = 49.82971… の近似値をB及びB'の式で求めよ。

答.    α1 = 1/2(50 + 2483/50) = 4983/100 = 49.83 (第1近似式)
      α1 = 50 - 17/100 = 49.83                  (第1近似式*) 
-------------------------------------------------------------------------------
問4.√8765 = 93.621_578… の近似値をB及びB'の式で求めよ。

答.        8765 = 932 + 116
            8765 = 942 - 71

    より

      α1 = 1/2(94 + 8765/94) = 17601/188 = 93.622_340… (第1近似式)
      α1 = 94 - 71/188 = 93.622_340…                   (第1近似式*) 
-------------------------------------------------------------------------------

 近似式のレベルを第2、第3と上げていくと当然その精度は上がりますが、求めるルートの値
が 8765 のような4桁の数ともなると、もはや筆算の限界を超えていってしまいます。

-------------------------------------------------------------------------------
問5.√8765 = 93.621_578_709… の近似値をCの第2近似式で求めよ。

答.        α2 = 1/2{17601/188 + 8765/(17601/188)}
               = 619585361/6617976 = 93.621_578_712…         (第2近似式)
-------------------------------------------------------------------------------

※ 第n近似式まで求めていくとどれくらい精度が上がっていくかというのは、プログラ
ミングの練習問題としてよくやらされたものです。