4

自然数の自然対数ln nを積分で近似したい

584
1

はじめに

この記事は 🐟️🍊みかん🍊🐟️様のこの記事 を参考にしています。

直接的には(多分)無理

この記事 にもある通り、例えばln5を近似しようとして、
1504xn(1x)ndx<04xn(1x)n1+x<04xn(1x)ndx
と不等式を作ったとしても、n=2,4,8で順に、(大体)
0.9166<ln5<20.58346.6131<ln5<387.7212275.5<ln5<267854.5
みたいに全然うまくいかないのです。直接それだけを求めるというのは結構無理そうなので少しだけ変えた手法で近似しようと思います。

早速本題へ

とはいえ仕組みは結構単純なもので、01xn(1x)n1+xdxの分子は変えずに分母をいじるだけです。

例えばln3を求めたいなら
1301xn(1x)ndx<01xn(1x)n2+xdx<1201xn(1x)ndx
とすればいいだけです。

懸念点

この式を見た瞬間に分かる人もいるとは思いますが、この積分、ln2ln3が両方とも出るのでln2の近似が必要ですし、なんならその誤差をそのまま持ち越します。

何がともあれ実際にやってみよう

まずln2の近似が必要なので
1201xn(1x)ndx<01xn(1x)n1+xdx<01xn(1x)ndx
で近似します。ln3等々を近似するときに必要になるので、ここは精度よくn=8にしましょう。(ちなみに計算結果は 参考の記事 にもあります。)
1201x8(1x)8dx=8!8!2×17!=1437580(使)であることと、
 01x8(1x)81+xdx=01{x159x14+37x1393x12+163x11219x10+247x9255x8+256(x7x6+x5x4+x3x2+x1)+2561+x}dx=[x16163x155+37x141493x1313+163x1212219x1111+247x101085x93+32x8256x77+128x63256x55+64x4256x33+128x2256x+256ln(1+x)]01=256ln242629549240240であることから、
1437580<256ln242629549240240<2437580
1256(1437580+42629549240240)<ln2<1256(2437580+42629549240240)
(0.6931471775<ln2<0.6931471864)
これを基にln3を計算するのですが、n=8で計算すると
11102449553920+98165766053242106568704+ln2<ln3<1734966369280+98165766053242106568704+ln2
となりln2の7桁精度に見合わないくらい高い精度で出てきてしまいます。
(適当な小数表示 1.09861228562<ln3<1.09861229455 ほぼln2の誤差しか残ってないことが分かる)

何故

ここでこの謎を解明するためにxn(1x)nm+xで割った余りに着目したいと思います。

n,mを整数とする。xn(1x)nm+xで割った余りの絶対値はmn(m+1)nである。

とは言い難いもの

(1)nx2n+(1)n1nC1x2n1+(1)n2nC2x2n2++xnx+mで割る操作を筆算式で考えるとき、計算途中の余り(みたいなもの)を追うと、
(1)n1(m+nC1)x2n1(1)n2(m2+nC1m+nC2)x2n2と変化していき、xnの項まで計算したときの余り(みたいなもの)の係数は、
k=0nnCkmk=(m+1)nとなる。あとは、xn1の項から定数項まで係数が0であることを考えると、余り(みたいなもの)は順にm倍されていくので、最終的な余りは
(1)nmn(m+1)nと表せる。

書き方が下手なんじゃ。まぁつまり何が言いたいかというと、mの値が大きくなるほど、積分した際のln(m)の係数が存外大きくなるということです。求める際にはその係数で割るので、思ったより精度良く出てしまうということだったんですね。

ln(m)の近似を既知とし、その誤差(上限と下限の差)をεmとする。このとき、ln(m+1)の近似は
1m+101xn(1x)ndx<01xn(1x)nm+xdx<1m01xn(1x)ndxで計算でき、その誤差εm+1
εm+1=n!n!mn+1(m+1)n+1(2n+1)!+εmで与えられる。

とりあえず一般化したもの。ベータ関数の公式使うと結構すっきりしますね。
ちなみに降順もいけます。

ln(m+1)の近似を既知とし、その誤差(上限と下限の差)をεm+1とする。このとき、ln(m)の近似は
1m+101xn(1x)ndx<01xn(1x)nm+xdx<1m01xn(1x)ndxで計算でき、その誤差εm+1
εm=n!n!mn+1(m+1)n+1(2n+1)!+εm+1で与えられる。

おまけ1:実践的にどうなの

ということでこちらの問題です。

156<5π<157を示せ。 (国際信州学院大学 '22 改)

5πは整数か。のままだといろいろ大変ですのでこうしました。
この問題は言い換えると
ln156ln5<π<ln157ln5
を示せばよいことになるので、早速近似の準備をしましょう。
ln2ln3の近似はさっきのを使いまわします。計算量を出来るだけ削減したいならばln3の近似はn=7n=6でも十分です。

ln5を求めよう

ln5ln4の近似値が分かれば求められますがln4=2ln2なのでもうわかってますね。4!4!9!×2055×1010なのでn=4で十分。
予め204で割ってあげると計算が楽です。
12045630+2ln2<ln5+1204(1887+3861565+625425003+500040000)<12044630+2ln2
(小数表示1.6094379060<ln5<1.6094379244)

ln156を求めよう

ln156=ln(22313)=2ln2+ln3+ln13なのでln13の近似値が分かればよいです。
ln13の近似をするためにln12の値が必要ですが、ln12=2ln2+ln3なので分かっていますね。3!3!7!×(12×13)41011からn=3で十分。色々整理して、
11563(364650512112140)+2ln2+ln3<ln13<11563(364650512113140)+2ln2+ln3
(小数表示2.5649493482<ln13<2.5649493751)
よって、
5.0498559888<ln156<5.0498560425
であることが分かる。

ln157を求めよう

といってもln156が近似できているのでさっきの公式をそのまま使うだけです。ここまでmの値が大きければn=1でも十分です。
1156157(31321!1!3!156)+ln156<ln157<1156157(31321!1!3!157)+ln156
(小数表示:5.0562457867<ln157<5.0562458407)

あとはπと比較

上記から、ln156ln5<5.04985604251.6094379060<3.13765199
ln157ln5>5.05624578671.6094379244>3.14162212
であり、πは、 参考の記事 から、(n=2の場合を引用して、)
3.14159231<π<3.1415929
(近似の方法の説明は上記の記事に丸投げします。すみません。)
であるので、
ln156ln5<π<ln157ln5が示された。

まだ結構余裕があるので計算量減らせそうですね。

おまけ2

714日は本学初代学長コナン・ロシュフォールの誕生日である.2nの 先頭3桁が714となるような正の整数nが存在することを示せ.ただし,n=1800がそのようなnであることを示すために21800を直接手計算する, という証明方法も認める.
(R6 国際信州学院大学理学部)

また国際信州学院大学です。
これも
log107.141800log102 1800log102<log107.15
ln714ln1021800ln2ln101800ln2ln10<ln715ln102
を示せれば良いです。
(おまけ1までの計算結果は使いまわします。)
ln10ln2+ln5で表せるので、
2.3025850835<ln10<2.3025851108
となります。

ln715を求めよう

715=5×11×13よりln11が求まればln715が求まります。
ln12ln11n=3で近似すると
11323(112×1401200740360)+ln12<ln11<11323(111×1401200740360)+ln12
(小数表示2.3978952636<ln11<2.3978952904)

ln715=ln5+ln11+ln13より
6.5722825178<ln715<6.5722825899

ln714を求めよう

ln715ln714,n=1で近似すると
1714715(1!1!3!71514292)+ln715<ln714<1714715(1!1!3!71414292)+ln715
(小数表示:6.5708829379<ln714<6.5708830101)

あとは

ln714ln102<6.57088301012.30258508352<0.85369824429
ln715ln102>6.57228251782.3025851108>0.85430600891
0.85398561295<1800ln2ln101800ln2ln10<0.85399899469
であるから、
ln714ln102<0.85369824429<0.85398561295<1800ln2ln101800ln2ln10<0.85399899469<0.85430600891<ln715ln102
よって示された。

おわりに

これが出来ることによってp,qを有理数(q>0)としたとき、lnpとかlogqpとかの近似が高校範囲でできます。実用性までは考えてません。あとこれやってると昔やってたマージゲームを思い出します。若干違うけど。そして 🐟️🍊みかん🍊🐟️ 様には大変感謝です。

計算ミス等があれば教えてください。

参考

各学部の過去問 | 国際信州学院大学, 閲覧日2024年9月3日https://kokushin-u.jp/prospective-student/past-questions/

円周率を積分で近似計算する | 🐟️🍊みかん🍊🐟️, 閲覧日2024年9月3日 https://mathlog.info/articles/F5qZheDGn1M44uI6BFaD

投稿日:202493
更新日:20241011
OptHub AI Competition

この記事を高評価した人

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

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

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

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

投稿者

vunu
vunu
32
4231
「西」の「西東南」の部分

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 直接的には(多分)無理
  3. 早速本題へ
  4. 懸念点
  5. 何がともあれ実際にやってみよう
  6. 何故
  7. おまけ1:実践的にどうなの
  8. $\ln 5$を求めよう
  9. $\ln 156$を求めよう
  10. $\ln 157$を求めよう
  11. あとは$\pi$と比較
  12. おまけ2
  13. $\ln 715$を求めよう
  14. $\ln 714$を求めよう
  15. あとは
  16. おわりに
  17. 参考