#統計 ガンマ関数に被積分関数のプロットだけで非常に教育的。...

ガンマ関数を近似するガウス積分は相対誤差的に1/√nのオーダーで左半分で過大評価で右半分で過小評価になっているが、キャンセルして相対誤差が1/nオーダーの近似になっている。
#Julia言語 のノートブック
↓
colab.research.google.com/drive/125pn1x0…
入門的でないやつはその後で良い。
colab.research.google.com/drive/125pn1x0…


genkuroki.github.io/documents/Calc…
対数ガンマ関数はフルヴィッツのゼータ関数のある微係数として出て来ます。
ゆえに対数ガンマ関数のスターリング近似の剰余項も積分表示を持ちます。
たったこれだけのこと。
スターリングの公式は色々面白い話に繋がっています。
ガンマ関数のガウス積分による近似を被積分関数の同時プロットで視覚化すると、n=30としても結構大きくずれているように見えるのですが、ずれの大部分は左右の積分でキャンセルして消えるということです。
ここまで視覚化で認識できると楽しくなります。

ガンマ関数を近似するガウス積分は相対誤差的に1/√nのオーダーで左半分で過大評価で右半分で過小評価になっているが、キャンセルして相対誤差が1/nオーダーの近似になっている。
#Julia言語 のノートブック
↓
colab.research.google.com/drive/125pn1x0…
微積分の計算好きでかつコンピュータによる視覚化好きの人にとってスターリングの公式は非常に楽しめる題材になっています。
あと、教育的な数学動画を作ったときには、そのために使ったソースコードも公開するべきだと思う。動画作成でもちょっとした試行錯誤する余地を残したい。
colab.research.google.com/drive/125pn1x0…

n!≈nⁿ e⁻ⁿ √n √(2π)
を簡単に得るには、ガンマ関数の積分変数をx=n+√n yと変数変換するのが簡単。
n!=∫_0^∞ xⁿ e⁻ˣ dx
=nⁿ e⁻ⁿ √n ∫_{-√n}^∞ (1 + y/√n)ⁿ exp(-√n y) dy
と変形して、n→∞とするとガウス積分が現れることを確認すればよい。
動画作成のためのソースコードを楽に実行できる形で公開すれば、ソースコードのちょっとした変更を多くの人が試せる。
例えばn=100の様子も見てみることができる。
colab.research.google.com/drive/125pn1x0…
その正当化も添付画像の視覚化を経た後では易しくなります。
百聞は一見に如かず。続く
colab.research.google.com/drive/125pn1x0…
グラフ的にはそうなっているのは当たり前に見える。
その当たり前な理由を正確に書けば証明が完成します。続く
colab.research.google.com/drive/125pn1x0…
H(y) = if y < 0 then G(y) else F(1, y)
とおくと、H(y)はyについてℝ上可積分で
0≤F(n, y)≤H(y)
なので、ルベーグの収束定理より、n→∞のとき
∫_ℝ F(n,y)dy→∫_ℝ G(y)dy=√(2π).
colab.research.google.com/drive/125pn1x0…
百聞は一見に如かず
グラフを作成するスキルは非常に重要なのですが、コンピュータでグラフを作るスキルの習得にはかなりの時間的なコストがかかります。
今だとGoogle Colabのようなありがたいツールがあって、始めはそこでJulia, Python, Rによるグラフ作成法を練習すれば良いと思います。
グラフの作成スキルの習得の勉強で最も難しいことは「特別に作りたいとは思わないグラフを作る練習」にならないようにすることかも。
見ることができたらうれしいことについてグラフを描かないと、何のためにグラフ作成スキルを習得したいのか分からなくなってしまう。
例えば、私が描いたグラフを見て、自分が見たいことが視覚化されていないとする。そのとき、私が公開したコードを改良して、自分が見たいものを描いて𝕏に投稿する、というような勉強の仕方もあると思います。
