什么是伽玛函数?
伽玛函数记作 \(\Gamma(z)\),是阶乘在连续区间上的推广。对任意正整数 \(n\),它满足 \(\Gamma(n) = (n-1)!\),因此 \(\Gamma(5) = 4! = 24\)。与普通阶乘不同,伽玛函数对所有实数和复数都有定义,唯一的例外是非正整数(0、−1、−2、……),在这些点上它存在极点。伽玛函数广泛出现在数学、统计学(伽玛分布、贝塔分布和卡方分布)、物理学以及组合数学中。
如何使用本计算器
只需输入任意一个 \(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 (z + g + \tfrac{1}{2})^{z + \frac{1}{2}}\cdot e^{-(z + g + \frac{1}{2})}\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)\)? 伽玛函数在每一个非正整数处都存在极点,在这些点上其值会无限增大,因此没有定义。
计算结果的精度如何? 取 \(g = 7\) 的 Lanczos 近似对常见输入可达到约 15 位有效数字的精度——远高于界面显示的位数。
\(\Gamma(z)\) 和阶乘是一回事吗? 两者密切相关:对正整数 \(n\) 有 \(\Gamma(n) = (n-1)!\)。伽玛函数把阶乘推广到了非整数和负数自变量。