Processing math: 100%

大学数学

【√2、√3が求まる】
√自然数を極限に持つ漸化式の作り方

√自然数の形の無理数を極限に持つ漸化式を紹介します。

とりわけ√2を求めるのに優秀なアルゴリズムで、

√3なども指数関数の速さで計算できます。

式自体は簡単で
プログラムを組みやすいので

コンピュータで無理数を
数値計算してみたい人の入門にお勧めです。

漸化式

2以上の自然数aについて

定理

漸化式

an+1=1an+(a1)ana

は√aを極限に持つ。

ただし初項a1は任意の正の実数。
(できるだけ√aの近くにとる)

√2を求める

試しに√2を求めてみます。

漸化式は

an+1=1an+(21)an2=1an+an2

です。

√2に近い値として

a1=1

を初項に定めます。

順次、漸化式より

a2=11+12=32(=1.5)

a3=23+34=1712(1.4167)

a4=1217+1724=288408+289408=577408(1.4142)

のよう計算され次第に√2が求まります。

√3を求める

√3も求めてみます。

漸化式は

an+1=1an+(31)an3=1an+2an3

で、√3に近い値として

a1=2

を初項に定めます。

順次、漸化式より

a2=12+43=116(1.8333)

a3=611+119=5499+12199=17599(1.7677)

a4=99175+350297=9065351975(1.7442)

a5=5197590653+1813061559250.5733+1.1628=1.7361

√3が求まります。

ポイント

√2を求める時より時間が掛かります。

収束する理由

なぜこの漸化式で求まるかと言うと
複素力学系で説明されます。

漸化式のanをxで置き換えた関数

f(x)=1x+(a1)xa

において±√aは吸引不動点と呼ばれる物です。

吸引不動点は、その名の通り
近くの点をすべて引き寄せる性質を持つので

初項a1を√aの十分近くにとれば、

漸化式を施すにつれ
√aへ収束して行きます。

どれくらい近くの点を引き寄せるかは
吸引不動点によっていて

この場合は任意の正の実数が√aへ引き寄せられます。

証明

興味のある人向けに
±√aがf(x)の吸引不動点である事を証明します。

不動点である

x=1x+(a1)xa

の解を考える。

x=0は明らかに不適なのでx≠0とする。

両辺にxを掛けると

x2=1+(a1)x2a

両辺に自然数aを掛けて整理すると

x2=a

よって

x=±a

はf(x)の不動点である。◻

吸引的である

f(x)=1x2+a1a

なのでf(x)の√aにおける微分係数は

f(a)=1a+a1a=a2a=12a

aは2以上の自然数なので

|12a|<1

微分係数の絶対値が1より小さいので吸引的である。◻

収束の速さ

吸引不動点への収束の速さは
微分係数の絶対値

すなわち

|f(a)|=|12a|

の大きさで決まります。

a=2の時

|f(2)|=0

絶対値は0なので
とても速く収束します。

(絶対値0の吸引不動点は超吸引不動点と呼ばれます)

a=3の時

|f(3)|=13

絶対値は1/3です。

これは漸化式を一回施すごとに
真の値との距離が約1/3に縮まることを意味します。

底が1/3の指数関数の速さ程で√3が求まります。

aが大きい時

一般にこの漸化式をアルゴリズムに使えば

底が(1-2/a)の指数関数の速さ程で
√aを求めてくれます。

弱点は

lima(12a)=1

なので、

aが大きくなるに連れ動作が重くなります。

今のコンピュータのスペックなら
少なくとも√10まで求まるので

入門には向いていると思います。

まとめ

元の数の逆数と定数倍の足し算

という簡単なステップで
√自然数へと収束する漸化式を紹介しました。

特に√2は超吸引不動点なため求めやすく、

√3以降の数値計算にも
弱点はあるものの使えます。

ルートを自分の手で計算してみたい人にお勧めです。

-大学数学

S