什麼是 Gamma 函數?
Gamma 函數寫作 \(\Gamma(z)\),可視為階乘(factorial)的連續推廣版本。對任何正整數 n 來說,它滿足 \(\Gamma(n) = (n - 1)!\),因此 \(\Gamma(5) = 4! = 24\)。與一般階乘不同的是,Gamma 函數對所有實數與複數都有定義,唯獨在非正整數(0、−1、−2、⋯)處例外——這些點是它的奇點(極點)。Gamma 函數廣泛出現在數學、統計學(如 gamma 分配、beta 分配與卡方分配)、物理學與組合數學之中。
如何使用本計算機
只要輸入任一個 z 值——可以是整數、分數,或非整數的負數——計算機就會回傳 \(\Gamma(z)\)。舉例來說,\(\Gamma(0.5) = \sqrt{\pi} \approx 1.772454\),而 \(\Gamma(2.5) \approx 1.329340\)。請避免輸入 0 或負整數,因為函數在這些點沒有定義。
公式說明
本工具採用 Lanczos 近似法,這是一種快速且精度極高的級數展開,使用常數 \(g = 7\) 及九個事先計算好的係數。其核心恆等式為 $$\Gamma(z) = \sqrt{2\pi}\cdot \left(z + g + \tfrac{1}{2}\right)^{z + \frac{1}{2}}\cdot e^{-\left(z + g + \frac{1}{2}\right)}\cdot A_g(z)$$ 其中 \(A_g(z)\) 為加權係數之和。當 \(z < 0.5\) 時,計算機會先套用反射公式 $$\Gamma(z)\,\Gamma(1 - z) = \frac{\pi}{\sin(\pi z)}$$ 藉此精確計算較小或為負的引數。
實例演算
以計算 \(\Gamma(5)\) 為例:由於 5 是正整數,因此 $$\Gamma(5) = (5 - 1)! = 4! = 4 \times 3 \times 2 \times 1 = 24$$ Lanczos 近似法回傳的結果為 24.0000(在捨入誤差範圍內),正好印證了它與階乘之間的關係。
常見問題
為什麼無法計算 \(\Gamma(0)\) 或 \(\Gamma(-2)\)?Gamma 函數在每一個非正整數處都有極點,數值會無限增長,因此在這些點沒有定義。
計算結果有多精準?採用 \(g = 7\) 的 Lanczos 近似法,對一般輸入而言可達約 15 位有效數字的精度——遠遠超過畫面所顯示的位數。
\(\Gamma(z)\) 和階乘是同一回事嗎?兩者密切相關:對正整數 n 而言,\(\Gamma(n) = (n - 1)!\)。Gamma 函數則把階乘的概念推廣到非整數與負數的引數上。