・私は誰?                              GAI 氏

 f(n)=-{(2*n-1)*(2*n^3-5*n^2+n-1)/(n*(2*n+1)*(2*n^2-3*n+2))}*f(n-1)
          +{(2*n-3)*(2*n^2+n+1)/(n*(2*n+1)*(2*n^2-3*n+2))}*f(n-2)  (n=2,3,4,・・・)

 ただし、f(0)=5、f(1)=-1/3 とする。

 さて、このいかめしい漸化式で定まる級数和の極限値 納n=0,∞] f(n) は如何なる値か?


(コメント) f(2)=(9/40)*f(1)+(11/40)*f(0)=-(3/40)+(55/40)=52/40=13/10 でいいのかな?


 らすかるさんからのコメントです。(令和3年1月27日付け)

 多分、e+π だと思います。


 GAIさんからのコメントです。(令和3年1月27日付け)

 ピタリ正解です。数値計算されました?自分のコンピュータではメモ化して漸化式を処理し
ようとしても狽ナのnには20000位でメモリーいっぱいで、それ以上の精度を確保できません
でした。でも出た数値でこの極限を予想されたのはこれまた驚きです。


 らすかるさんからのコメントです。(令和3年1月27日付け)

 数値計算で近似値を出して、WolframAlphaに聞きました。

 精度を上げる工夫をすると、たった100項までの計算で、5.859874482048838という値が出
せます。
# 1000項までなら、5.85987448204883847382293
# 10000項までなら、5.859874482048838473822930854632165


 DD++さんからのコメントです。(令和3年1月28日付け)

 見た目いかついですが、わりと見掛け倒しで、解こうと思えば解ける漸化式ですね。

 f(n)=-{(2*n-1)*(2*n^3-5*n^2+n-1)/(n*(2*n+1)*(2*n^2-3*n+2))}*f(n-1)
   +{(2*n-3)*(2*n^2+n+1)/(n*(2*n+1)*(2*n^2-3*n+2))}*f(n-2)  (n=2,3,4,・・・)

 ただし、f(0)=5、f(1)=-1/3 とする。

 分母を払うと、

n*(2*n+1)*(2*n^2-3*n+2)*f(n) = -(2*n-1)*(2*n^3-5*n^2+n-1)*f(n-1)
                                     +(2*n-3)*(2*n^2+n+1)*f(n-2)

 g(n) = (-1)^n*(2*n+1)*f(n)  (n≧0)  とおくと、g(0) = f(0) = 5、g(1) = -3*f(1) = 1 で、

 n*(2*n^2-3*n+2)*g(n) = (2*n^3-5*n^2+n-1)*g(n-1)+(2*n^2+n+1)*g(n-2)

ここで、(2*n^3-5*n^2+n-1) = n*(2*n^2-3*n+2) - (2*n^2+n+1) であることに注目。

 h(n) = g(n)-g(n-1)  (n≧1) とおくと、h(1) = g(1)-g(0) = -4 で、

 n*(2*n^2-3*n+2)*h(n) = -(2*n^2+n+1)*h(n-1)

 さらに、 i(n) = h(n)/(2*n^2+n+1)  (n≧1) とおくと、i(1) = h(1)/4 = -1 で、n*i(n) = -i(n-1)

よって、 i(n) = (-1)^n/(n!) 、h(n) = (-1)^n*(2*n^2+n+1)/(n!)

 ここから頑張って h(n) を変形します。

h(n)
= (-1)^n*(2*n^2+n+1)/(n!)
= (-1)^n*(2*n^2-n+2*n+1)/(n!)
= (-1)^n*((2*n-1)*n+(2*n+1))/(n!)
= -(-1)^(n-1)*(2*n-1)/((n-1)!)+(-1)^n*(2*n+1)/(n!)

これが g(n) の階差数列であることから、n≧1 のとき

g(n) = g(0)+Σ[k=1,n]h(k)
= 5+(-1-3)+(3+5/2)+(-5/2-7/6)+……+(-(-1)^(n-1)*(2*n-1)/((n-1)!)+(-1)^n*(2*n+1)/(n!))
= 5-1+(-1)^n*(2*n+1)/(n!)
= 4+(-1)^n*(2*n+1)/(n!)

で、g(0)=5 であることから、n=0 の場合も含めて、 g(n) = 4+(-1)^n*(2*n+1)/(n!)

よって、 f(n) = 4*(-1)^n/(2*n+1)+1/(n!)

Σ [n=0,∞]4*(-1)^n/(2*n+1) = 4*(π/4) = π  (ライプニッツ級数)

Σ [n=0,∞]1/(n!) = e

であることから、 納n=0,∞]f(n) = π+e


 GAIさんからのコメントです。(令和3年1月28日付け)

 分析お見事です。逆に目標をe+πにして、これに収束する数列を構成する手法が面白
かったです。

e=納n=0,∞]1/n!=1+1/1!+1/2!+1/3!+・・・
π=4*Σ[n=0,∞](-1)^n/(2*n+1)=4*(1-1/3+1/5-1/7+1/9-・・・)

そこで、 a(n)=1/n! 、b(n)=(-1)^n*4/(2*n+1) と置くと、

 a(n-1)=n*a(n) 、a(n-2)=(n-1)*a(n-1)=n*(n-1)*a(n)

 b(n-1)=-(2*n+1)/(2*n-1)*b(n) 、b(n-2)=-(2*n-1)/(2*n-3)*b(n-1)=(2*n+1)/(2*n-3)*b(n)

そこで、

f(n)=a(n)+b(n) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・@ と置けば、

f(n-1)=n*a(n)-(2*n+1)/(2*n-1)*b(n)・・・・・・・・・A

f(n-2)=n*(n-1)*a(n)+(2*n+1)/(2*n-3)*b(n)・・・B

 A、Bから

[n          -(2*n+1)/(2*n-1)][a(n)]   [f(n-1)]
                                    =
[n*(n-1)     (2*n+1)/(2*n-3)][b(n)]   [f(n-2)]


 この2×2行列の逆行列を左からかけて、a(n)、b(n)をf(n-1)、f(n-2)で解き、結果を@へ代入
することで、

f(n)= - (2*n-1)*(2*n^3-5*n^2+n-1)/(4*n^4 - 4*n^3 + n^2 + 2*n)*f(n-1)
                   + (2*n-3)*(2*n^2+n+1)/(4*n^4 - 4*n^3 + n^2 + 2*n)*f(n-2)

なる漸化式で表せることができる。


 「収束の遅い交代級数の精度を格段に上げる方法」について、らすかるさんからのコメント
です。(令和3年1月28日付け)

 e+πの級数計算で用いた方法についてです。

 例えば、n項計算された級数a[1]〜a[n]に対して、mをm<nである自然数とし、級数の最後
のm+1項を使って、(1/2^m)Σ[k=0〜m]{mCk・a[n-k]}を計算すれば、a[n]よりもはるかに精度
の良い近似値が得られます。mは大きいほど精度が良くなります。

 e+πのときは、m=8として計算しました。つまり最後の9項を使って、

(a[n]+8a[n-1]+28a[n-2]+56a[n-3]+70a[n-4]+56a[n-5]+28a[n-6]+8a[n-7]+a[n-8])/256

を計算するということです。

例1 π=4-4/3+4/5-4/7+4/9-…

 これを1000項まで計算すると、3.142…と小数点以下2桁しか求まりませんが、
第992項〜第1000項を使って上の式で計算した値は、3.1415926535897932384626432…
となり、小数点以下24桁まで正確に求まります。
(同じ1000項までで、m=16にすると42桁、m=32にすると72桁求まります。)

例2 log2=1-1/2+1/3-1/4+1/5-…

 これを1000項まで計算すると、0.6936…と小数点以下3桁しか求まりませんが、
第992項〜第1000項を使って上の式で計算した値は、0.6931471805599453094172320…
となり、これも同じく小数点以下24桁まで正確に求まります。

# この手法はe+πの近似値計算に際して自分で考えた方法ですが、こういうのは多分既に
知られているでしょうね。なお、この方法は交代級数にしか使えません。


 GAIさんからのコメントです。(令和3年1月28日付け)

 この方法を知らないと(編み出さないと)例の漸化式を10000個の(私のパソコンの能力)例
え総和を計算しても、目的のe+πの真の値とは大きくずれたものにしかならず、らすかるさん
が数値計算結果からe+πを指摘されたのは、よっぽどスペックが高いパソコンを使用されて
いるんだろうな・・・と思っていたとこでした。

 いやーこの手を知らないと数値計算から当てるのは無理ですね。



              投稿一覧に戻る