Visual Basicサンプル ― ガンマ関数、階乗関数、ベータ関数、2項係数、不完全ガンマ関数、不完全ベータ関数

確率・統計の分野で多用される関数を計算する方法を、Visual Basicのソースコードで紹介します。整数の階乗の考え方を自然数や複素数にまで拡張したガンマ関数(の自然対数)をはじめ、ガンマ関数を用いて算出できる階乗、ベータ関数、2項係数、不完全ガンマ関数、不完全ベータ関数のサンプルを示します。

不完全ガンマ関数からは誤差関数やカイ2乗関数、累積ポワッソン確率関数を導くことができ、また、不完全ベータ関数からはStudentの分布やF分布、累積2項分布が導かれます。

一番元になるガンマ関数は、当初、

NUMERICAL RECIPES in C (日本語版)
William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery
技術評論社
ISBN4-87408-560-1

に掲げられたLanczosの近似による計算方法を移植しましたが、この方法はせいぜいSingle型の精度しか出せません。一方で、京都大学の大浦氏が示した近似による方法を用いればDouble型の精度が得られます。


VB.Net
VB6又はそれ以前