cosを無限に繰り返したら
みなさん、突然ですがお手持ちの関数電卓を弧度法にしてを連打してみてください。
iPhoneの場合なら、左下の方にRadというボタンがあると思いますのでそこを押すと度数法から弧度法へと切り替わります。
……どうでしたか?
こんな風になったのではないかと思います。
ボタンを押していくと、だんだんとこのという値に近づいていく様子が確認できたと思います。「なんでこんな中途半端な数がでるんだろう」とか、いろいろ疑問が浮かんできます。なので、今回はこの値について探っていきましょう。
まず、上でやった操作をきちんと数学の言葉で再構成します。
予想1.
\begin{align}
a_0 &= 0 \\
a_{n+1} &= \cos a_n
\end{align}
ちなみに、あとでわかりますが初期値は0でなくても同じ話になります。(電卓で0以外の値から始めてみてください)
では、この数列について調べてみましょう。
収束する様子をビジュアライズする
先程定義した数列がどんな挙動を示すのかを調べるために、こんな図を用意しました。
数列の極限を調べるときにを使うのは常套手段です。簡単に説明します。
まず、はすぐに計算できて、だと分かります。
そうしたら、画像のようににぶつけることで今得た値をx軸に移すことができます。これで、という点を得ることができました。
をに代入、つまり画像のように上にぶつければその交点のy座標はです。これをさっきのようにを使ってx軸に移せば、めでたくの位置を求めることができました。
この手続を繰り返すことによっての値を連鎖的に得ることができて、図にすればこんな感じになります。
どうやら、 の値は と の交点に近づいていきそうです。
方程式 x = cos(x)
先ほどまでの話で、どうやらこの式について考えればいいことが分かりました。
\begin{align}
f(x) = \cos x - x
\end{align}
を満たすようなを探せばいいわけです。
でも、どうやって解けばいいのでしょうか?
中学、高校でやるような代数方程式とは訳が違って因数分解したりなどはできそうにありません。したがってここでは、近似的に解を求めます。
そこで出てくるのが、ニュートン法という手法です。
詳しいことは、こちらのサイト様に載っていますのでそちらを見ていただくことにします。
実際に計算してみましょう。
まず計算のためにの導関数が必要になるので求めておきます。
\begin{align}
f'(x) = - \sin x - 1
\end{align}
したがって、解を近似する計算式はこんな風になります。
\begin{align}
x &= x_0 - \frac{f(x_0)}{f'(x_0)} \\
&= x_0 + \frac{\cos x_0 - x_0}{\sin x_0 + 1}
\end{align}
これを用いて、Pythonに計算させてみましょう。
適当に、としておきます。
計算結果は……
0.7390851332151618になりました!
最初電卓で出した値と小数第五位まで一致しています。
これで、おおよそ予想は正しかったと言うことができそうです。
あとがき
今回は、方程式の近似解しか求めませんでした。もしかしたら、このという値は積分表示したりできるのかもしれない、と思っています。
それよりもそもそも、今回厳密な証明というのが一切登場していません。というのも、説明しようにも私自身どうすれば厳密な証明を与えられるのか分からないからです……。誰か教えてください。
ここまで書いて気づいたんですが、予想2ってただ数列の定義式を言い換えただけですね……。やっぱりまだ勉強不足みたいです。
2019.01.20追記:
続編ができました。近似解ではなくて厳密に解を求めます。