LGAMMA 函数
简介
LGAMMA 函数用于计算对数 Gamma 函数(Log-Gamma 函数)的值,即 Gamma 函数绝对值的自然对数。其数学定义为:
lgamma(x) = ln(|Γ(x)|)
其中 Γ(x) 为 Gamma 函数。对数 Gamma 函数在处理大数阶乘相关计算时非常有用,因为直接计算 Gamma 函数值可能导致数值溢出,而取对数后可以在更大的数值范围内安全计算。
语法
lgamma(expr)
参数说明
expr: 需要计算对数 Gamma 函数值的数值表达式,支持数值类型(可隐式转换为 DOUBLE)。
返回结果
返回类型为双精度浮点数(DOUBLE),表示输入值对应的 ln(|Γ(x)|) 值。
使用示例
-
计算 lgamma(1)(ln(|Γ(1)|) = ln(1) = 0):
-
计算 lgamma(5)(ln(|Γ(5)|) = ln(4!) = ln(24) ≈ 3.178):
-
计算非整数参数的对数 Gamma 值(lgamma(0.5) = ln(√π)):
-
当输入为 NULL 时:
注意事项
- 当输入参数为 NULL 时,返回结果为 NULL。
- 对于零和负整数(0, -1, -2, ...),Gamma 函数无定义(趋向无穷),lgamma 返回 Infinity(将此类结果 CAST 为 decimal 时会得到 NULL)。
- 对于正整数 n,lgamma(n) = ln((n-1)!),例如 lgamma(5) = ln(24) ≈ 3.178,lgamma(1) = 0,lgamma(2) = 0。
- lgamma 与 tgamma 的关系:lgamma(x) = ln(|tgamma(x)|)。当 tgamma(x) 的结果非常大时(如大参数),直接使用 tgamma 可能溢出为 Infinity,而 lgamma 仍能返回有效结果,适合处理大数阶乘相关的计算。
- lgamma(0.5) = ln(√π) ≈ 0.5724,这是对数 Gamma 函数的一个经典特殊值。
联系我们
