■ピタゴラス数と無理数(その8)
【1】√2の近似値とヘロン数列
p/q→(p+2q)/(p+q)
に次ぐ第3の近似分数は
p/q→(p+2q)/(p+q)→(3p+4q)/(2p+3q)
となりますが,
(3p+4q)/(2p+3q)
にp=1,q=1を代入すると過小評価(−1)側の分数列
(−1) 1/1<7/5<41/29<239/169<・・・<√2
p=3,q=2を代入すると過大評価(+1)側の分数列が得られます.
√2<・・・<577/408<99/70<17/12<3/2 (+1)
すなわち(3p+4q)/(2p+3q)では分数を1つ飛び越えているので収束が加速されます.ここでは別の収束加速法を紹介します.
aがx^2=0の解ならばa=2/aが成り立ちます.aがいくらか不正確,たとえば過小評価であるならば,2/aは過大評価となります.過小評価と過大評価の中間(算術平均)はaと2/aのいずれよりもよい評価となります.かくして算術平均:
an+1=1/2(an+2/an)
によって定義される数列は√(2)に収束することになります(ヘロンのアルゴリズム).
ヘロンのアルゴリズムは,算術平均・幾何平均の不等式
(a+b)/2≧√ab
において,b=2/aの場合となっています.
1/2(a+2/a)≧√2
また,この場合,2の平方根をニュートン法x:=x-f(x)/f'(x)で求めるのと同じことになります.ニュートン法の幾何学的意味は「初期値x0における関数の勾配を求めて,接線とx軸の交点を求める.この点において,同様の作業を行うとxは順次解に近づいていく.」と解釈されます.
a=1を1/2(a+2/a)に代入すると3/2が得られますが,これを繰り返すと
1→3/2→17/12(1つ飛び越え)→577/408(3つ飛び越え)→665857/470832(7つ飛び越え)→(15飛び越え)→・・・
1,3/2,17/12,577/408,665857/470832,・・・
はヘロン数列と呼ばれます.
また,a=p/qから始めることにすると
1/2(a+2/a)=(p^2+2q^2)/2pq
p/q→(p^2+2q^2)/2pq
p/q→(p+2q)/(p+q)
は1次分数列でしたが,
p/q→(p^2+2q^2)/2pq
は2次分数列になっています.
さらに,高次分数列
p/q→(p^3+6pq^2)/(3p^2q+2q^2)
p/q→(p^4+12p^2q^2+4q^4)/4pq(p^2+2q^2)
p/q→(p^5+20p^3q^2+20pq^4)/(5p^4q+20p^2q^3+4q^5)
p/q→(p^6++30p^4q^2+60p^2q^4+8q^6)/(6p^5q+40p^3q^3+24pq^5)
は驚異的なスピードで√2に近づきます.
===================================