5

ルート2の近似がしたい!

1096
0

前置き

この記事は私れもんのいれもんの初記事なので温かい目で読んでくださると嬉しいです。
https://mathlog.info/articles/x4pUA4YRQBy5ILj58zKn (Mathlog Advent Calendar 2023)
この記事は上記のmathlogの企画のアドベントカレンダー高校部門の12/17の記事です。ぜひ他の記事も読んでみてください!

はじめに

この記事では皆さんも知っている通り無理数である2の近似をしていきます。
本文が難しいと思った人でも最後に軽いおまけをつけているのでそこだけでも読んでくれたら嬉しいです。

連分数展開

連分数とはなんぞやという人もいると思うので簡単に連分数とは何かを書いておきます。

連分数

連分数とは123のように分母の中に分数が入っているものです。

ではどうやって2を連分数で表すかですが、11+2=21を使っていきます。これを変形すると
2=1+11+2
となります。この右辺の2にこの式を代入すると
2=1+12+11+2
となります。
これを無限に繰り返すことで2の連分数展開
2=1+12+12+12+1
が得られます。
このままだととても場所を取るので2の連分数展開を
2=[1;2,2,2,]
と表します。


[2;3,4,5]=2+13+14+15

また、このようにそれぞれの分子が1になっているものを正則連分数と言い、今回扱う連分数は全て正則連分数です。
とりあえずここまでをまとめときます。

2の正則連分数展開は
2=[1;2,2,2,]

2の連分数展開を途中で切ったものの値を求めてみましょう。
[1;2]=32=1.5
[1;2,2]=75=1.4
[1;2,2,2]=1712=1.416
となって2の近似になっていることがわかります。連分数は無限に続いているので無限に精度の良い近似を得ることができます。特に3番目の分数は今日の日付の逆数ですね。(これがやりたくて今日にしました。)
これだけでも近似はできていますが私はまだ満足しません。
次に正整数a,ba22b2=1を満たすときのb2の連分数展開を考えます。
2の時と同様に
1a+b2=b2a
を使っていきます。
先ほどと同様にすると
b2=[a;2a,2a,2a,]
2=1b[a;2a,2a,2a,]
となります。
とりあえずまとめると

正整数a,ba22b2=1を満たすとき2の正則連分数展開は
2=1b[a;2a,2a,2a,]

特にa=b=1の場合はさっきと一致しているので正しいことがわかりますね。

2の近似をする

最後の連分数展開を1b[a;2a,2a]で切った時を考えます。
1b[a;2a,2a]=4a3+3ab(4a2+1)
a=4a3+3a,b=b(4a2+1)
とおくとこれらも
a22b2=1
を満たします。

正整数a,ba22b2=1を満たすとき
a=4a3+3a,b=b(4a2+1)
a22b2=1を満たす。

a22b2
=16a6+24a4+9a232a4b216a2b22b2
=16a4(a22b2)+8a2(a22b2)+16a4+(a22b2)+8a2
=1

したがってa0=b0=1,an+1=4an3+3an,bn+1=bn(4an2+1)
とおくと全てのnについて
an22bn2=1
を満たすとわかります。
この式を整理するとan,bnは常に正なので
2=an2+1bn
となり、anbnはちゃんと2の近似になっていることがわかります。これは2の連分数展開を途中で切ったものなので当たり前と言えば当たり前ですね。
anbn2n回近似と呼ぶことにします。
試しに求めてみると
a0b0=11=1
a1b1=75=1.4
a2b2=1393985=1.4142131
a3b3=108121860077645370045=1.4142135623730950487
となり3回近似の時点でかなりの精度です。

一般項を求める

まずanの一般項を求めます。
気づいている人もいると思いいますがanの漸化式はsinh3倍角の公式になっています。
sinhとは双極正弦関数のことでハイパボリックサインと読みます。双極余弦関数というものもあり、これらの定義は次のとおりです。

双曲線関数

sinhx=exex2
coshx=ex+ex2

また、この定義から導かれる性質として次のものがあります。

cosh2xsinh2x=1

3倍角の公式

sinh3x=4sinh3x+3sinhx
cosh3x=4cosh3x3coshx

sinhx3倍角の公式とanの漸化式を見比べると、tsinht=1となるように取ると(ここでは重要ではないですがt=sinh11=ln(1+2))anの一般項は

an=sinh(3nt)
と書けます。
θn=3ntとおくと
an=sinhθn
anの一般項が求まりました。
次にこれを利用してbnの一般項を求めます。
bn=bn1(4sinh2θn1+1)
公式1を用いると
bn
=bn1(4cosh2θn13)
=bn1(4cosh3θn13coshθn1)coshθn1
coshx3倍角の公式より
bn=bn1coshθncoshθn1
公式1よりcoshθ0=2なのでb0=1より
bn=coshθn2
したがって2n回近似は
anbn=sinhθncoshθn2
と書けます。なんと2の近似を連分数を使って求めていたはずが双曲線関数を使って表せてしまいました!
双曲線関数の定義より
limnsinhθncoshθn=1
なので
limnanbn=2
とちゃんとなりました!

まとめ

2n回近似(1n)はsinht=1となるtnを使って表されるθn=3ntを使って
sinhθncoshθn2
と書ける。

連分数やら双曲線関数やらを使うとは思っていませんでした。どうして連分数から双曲線関数が出てくるのかは私はわかりませんが結構綺麗になったので満足です!拙い記事ですがここまで読んでくださってありがとうございます。以上、れもんのいれもんの「2の近似がしたい!」でした。

おまけ

ここまでで2の近似をしてきましたがなんか難しそうだし操作もめんどくさいですよね。そんなときに頭を使わずに脳死の手作業で近似できる方法を紹介しようと思います。(安心してください、開平法ではありません。)
それは次の操作です。

21の近似は
0から始めて2を加えて逆数にするを繰り返すことでできる.

これなら脳死でできますね。試しにしてみます。
0,2,12,52,25,125,512
このように2の近似の1712が得られました。(前述の通りこれは今日の日付の逆数です。)
なぜこの操作でできるのかというと
a0=0,この操作をn回繰り返したものをanとすると2の連分数展開より
21=[0;2,2,2,]
[0]=0=a0
[0;2]=12=12+a0=a1
[0;2,2]=12+12=12+a1=a2
というふうに
an+1=[0;2,2,2,,2(2n+1)]=12+an
となるからです。
本文が難しいと思った人もぜひこの方法で2の近似をしてみてください。
改めましてれもんのいれもんの「2の近似がしたい!」でした。

投稿日:20231216
更新日:20231217
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 前置き
  2. はじめに
  3. 連分数展開
  4. $\sqrt2$の近似をする
  5. 一般項を求める
  6. まとめ
  7. おまけ