その八 平方根の話

 電卓の話の続きからになる.電卓の中に「√」というキーがあり何だろうと疑問を持ってたので試しにいろいろ打ってみた.
「1」「√」
表示は「1」だ.変化がないんじゃつまらん.じゃあ次は2でやってみるか.
「2」「√」
妙なものが表示されてる.「1.414213562」って何じゃこりゃ?
「3」「√」…「1.732050807」
「4」「√」…「2」

4の時に2になるのか.2や3の時のよく分からん小数は何なんだ?と思いつつ次々と試してみる.すると
「9」「√」…「3」
というのが次に出てくるキリのいい数字.他に16や25が見つかった.ははぁ,どうやら九九の斜めに並んでる「同じものをかけた数」に「√」を被せたらその「数」になるようだ,と推測できたのだ.それではこいつらも,ということで正体不明の「1.414213562」に1.414213562をかけてみるとほぼ2になるではないか.1.732050807も同様にほぼ3になる.「√」というのは「その数を同じ数二つの積に分けたうちの一方」と分かった.しかし中途半端な数やなぁ,というのがこの時の感想だった.まだ小学生,平方根の何たるかを知る由もない.


 さて,この変な数と思いがけなく再会したのが直角三角形についていろいろと知ったとき.以前から「直角二等辺三角形の斜辺の長さってどのくらいなんだろう」という疑問があったのだが,その七で触れた「三平方の定理」を知ったときに「斜辺の長さを2乗したら2になる数」だということが分かった.三平方の定理より,直角をはさむ二辺を1と1にすれば斜辺cは
c2=12+12=2
という式を満たす.ということはこのcの正体は最初にあげた「1.414213562」になるようなのだ.
ところでこの数字,こんな小数でしか表せないのか,と表記法を調べたら「2乗してaになる数を「aの平方根」と言って,正のものを「√a」と表記する」ということが分かって,このcの正体を√2と表すということと,電卓の「√」の意味との両方が判明したのである.大変便利な物を知った気がした.


 √を使った計算の基本事項の確認をいくつか.以下,ab≧0とする.
(ア)
定義.

(イ)
となって両辺≧0より左辺=右辺.

(ウ)
(イ)の右辺のbaで置き換え(ア)を使って

(エ)
(イ)のaa2で置き換え,(ア)を用いて完成.

(オ)
左辺の分母・分子にをかけて分母の根号を消去.「有理化」という作業.

(カ)abのとき
左辺2=,右辺2=で一致する.両辺≧0より左辺=右辺.「二重根号をはずす」という作業.

(ア)〜(オ)が中三で,(カ)が高校で出てくる.この辺は単に文字式をいじりまわしてるだけという感じであまり面白くない.ただよく使う計算方法なので使いこなせなければならないが.


 √がついたままの計算は簡単にできる.それでは実際に平方根がどんな数かという「計算」をするにはどうしたらよいのだろう.電卓で「2」「√」と押したら「1.414213562」と返してくれるがこれ以降は分からない.挟み撃ちで
1.42=1.96 1.52=2.25
1.412=1.9881 1.422=2.0164
1.4142=1.999396 1.4152=2.002225

と計算してもよいが2乗していちいち確認するのが大変で計算量の割に桁数が伸びない.
小数で近似計算をやる方法として「開平」というものが存在するのでそれを紹介しよう.
                1. 4 1 4 2 1
1             2          
1           1×1=1→   1          
2 4             1 00        
  4         24×4=96→     96        
2 8 1            
4
00      
    1       281×1=281→    
2
81      
2 8 2 4          
1
19 00    
      4     2824×4=11296→    
1
12 96    
2 8 2 8 2          
6
04 00  
        2   28282×2=56564→      
5
65 64  
2 8 2 8 4 1           38 36 00
          1 282841×1=282841→         28 28 41
2 8 2 8 4 2           10 07 59
主計算1:わりざんの筆算のような計算をする.
一の位の2に入る平方数は1なのでまず一の位に商1を立て,2-1=1を計算する.
副計算1:1+1=2を計算してそれを置いておく.

主計算2:筆算で引き算したあまりの1に00を付け加え100とする.副計算1の2を十の位とする「20+a」という数のうち,a×(20+a)≦100となる最大のaを求めると,a=4,それを小数第一位の商とする.4×24=96を計算し,100-96=4の引き算をする.
副計算2:a=4を2の後ろに付け加え,24としておく.また,24に4を加え28としてそれを置いておく.

主計算3:主計算2のあまり4に00をつけ400とする.副計算2の28に対し,a×(280+a)≦400となる最大のaを求めるとa=1,それを小数第二位の商とする.281×1=281を400から引いて400-281=119とする.
副計算3:281+1=282として置いておく.

以下同様に主計算・副計算を用いて筆算で平方根を計算していくのである.a2と(a+b)2=a2+2ab+b2の差2ab+b2=b(2a+b)を副計算で実行し主計算で真の値に近づけていく.計算ごとに桁数が一つ上がっていくので手計算で確実に平方根が計算できるのが利点だ.


有理数列の極限として無理数が現れることもあり,その数列を利用して無理数を近似計算する方法もある.
初項の値に近い整数とし,次の漸化式で数列を定義する.

するとan+1anよりに近い分数になっているのである.
たとえばN=2,=1としていくつか計算してみると

と急速に真の値に近づく.
初項aと真の値の差と,第2項と真の値との差を比較すると,

と書ける.うまくaを取れば<1/2とできるので第2項でも初項の4倍以上の精度での近似ができ,以下の項でも一回の計算で近似できる桁数がほぼ倍増するので,かなり強力な近似計算であるといえるだろう.ただし計算結果の分数をみても本当に近づいてるかどうかの実感が湧かないのが不満な点か.


もう一つの近似計算を.一つ上の計算ほど早くないが応用範囲が広いという点で連分数展開を用いる方法をあげてみる.
正の実数を整数部分と小数部分とに分ける.すなわち
…(1)
である.のとき,の逆数を満たす.
ここで と置いて前と同様に整数部分と小数部分に分け,
…(2)
とする.
(1)(2)をまとめると

と書ける.以下同様の手順を踏んで,が0でない限り

と続けていくことができる.これを連分数展開という.

たとえば√2を連分数展開してみると,


・・・

以後はと同じになる.したがって

と連分数展開できる.
連分数展開を途中で打ち切って

とする(これをと表記する)との近似分数が得られるのでこれを用いて=√2の近似分数列を作ってみると,

となる.実際,の分母と分子は,とすれば

となる.一般的にも,

となるので,

という漸化式が成り立つのである.√2の場合,だったので,

と簡単な計算で次々に近似分数が得られる.真の値への収束は速くないが「その分母まででの最良の評価ができる」ことと「計算式がシンプル」というのが長所.


この三つで望む精度の平方根の近似ができると思うのでお試しあれ.

戻る