scipy.special.

multigammaln#

scipy.special.multigammaln(a, d)[源代码]#

返回多元伽玛函数的对数,有时也称为广义伽玛函数。

参数:
andarray

a的每个元素计算多元伽玛函数。

dint

积分空间的维度。

返回:
resndarray

给定点a处的多元伽玛函数的对数值。

注释

实数a的维度为 d 的多元伽玛函数的正式定义是

\[\Gamma_d(a) = \int_{A>0} e^{-tr(A)} |A|^{a - (d+1)/2} dA\]

条件是 \(a > (d-1)/2\),并且 \(A > 0\) 是所有维度为 d 的正定矩阵的集合。请注意,a 是标量:积分函数是多元的,但参数不是(该函数定义在实数集的子集上)。

这可以证明等于更友好的方程

\[\Gamma_d(a) = \pi^{d(d-1)/4} \prod_{i=1}^{d} \Gamma(a - (i-1)/2).\]

参考文献

R. J. Muirhead, 多元统计理论的方面(Wiley 概率和数理统计系列)。

示例

>>> import numpy as np
>>> from scipy.special import multigammaln, gammaln
>>> a = 23.5
>>> d = 10
>>> multigammaln(a, d)
454.1488605074416

验证结果与上面显示的方程的对数一致

>>> d*(d-1)/4*np.log(np.pi) + gammaln(a - 0.5*np.arange(0, d)).sum()
454.1488605074416