这个计算器能做什么
本工具可以为一组自变量 a 生成倒数伽马函数 \(1/\Gamma(a)\) 的数值表和折线图。你只需指定数列从哪里开始、每一步增加多少、以及总共需要多少个点(即多少行),即可得到一张简洁的两列数值表(a 对应 \(1/\Gamma(a)\)),并附带一条绘制好的曲线。这是纯粹的数学运算,在任何国家和地区结果都完全一致。
使用方法
填入 a 的初始值(第一个自变量)、每一行依次给 a 增加的步长(增量),以及要生成的迭代次数(行数)。例如,起始值 = -3、步长 = 0.1、行数 = 101,就会得到数列 a = -3, -2.9, -2.8, ……,一直到 a = 7.0。
公式解析
伽马函数是阶乘的推广:\(\Gamma(n+1) = n!\),且 \(\Gamma(1/2) = \sqrt{\pi}\)。当 \(\operatorname{Re}(a) > 0\) 时,它由积分 $$\Gamma(a) = \int_{0}^{\infty} t^{a-1} e^{-t} \, dt$$ 定义,并通过递推关系 \(\Gamma(a) = \Gamma(a+1)/a\) 和反射公式 \(\Gamma(a)\Gamma(1-a) = \pi/\sin(\pi a)\) 延拓到其他取值。我们采用 Lanczos 近似(\(g = 7\))来计算 \(\Gamma(a)\),当 \(a < 0.5\) 时则使用反射公式。最终输出就是 \(1/\Gamma(a)\)。与 \(\Gamma(a)\) 本身不同,倒数 \(1/\Gamma(a)\) 是一个没有极点的整函数:在 \(\Gamma\) 发散的地方(即 a = 0, -1, -2, ……),倒数恰好等于 0。
$$f(a_k) = \frac{1}{\Gamma(a_k)}, \quad a_k = \text{Start } a + k \cdot \text{Step}, \quad k = 0,1,\dots,\text{Rows}-1$$
实例演算
使用默认参数时,部分行的结果如下:a = -3 时 \(1/\Gamma(-3) = 0\)(非正整数,是 \(\Gamma\) 的极点);a = -2.5 时约为 \(-1.0579\);a = 0.5 时为 \(1/\sqrt{\pi} \approx 0.5642\);a = 1 和 a = 2 时都等于 1;a = 5 时为 \(1/24 \approx 0.04167\);a = 7 时为 \(1/720 \approx 0.001389\)。曲线在 \(a \approx 1.46\) 附近达到峰值,此处 \(\Gamma(a)\) 取得最小值(\(\approx 0.8856\)),对应 \(1/\Gamma\) 的最大值 \(\approx 1.129\)。
常见问题
为什么在 0 和负整数处 \(1/\Gamma(a)\) 等于零?因为 \(\Gamma(a)\) 在这些点上有简单极点,所以它的倒数趋于零。我们会识别出非正整数并直接返回 0。
当 a 非常大时会怎样?\(\Gamma(a)\) 增长极快并会溢出,此时我们返回 \(1/\Gamma = 0\),而不是 NaN。
精度如何?Lanczos \(g=7\) 近似在整条实轴上都能达到约 15 位有效数字的精度,对于制表和绘图来说绰绰有余。