scipy.special.
multigammaln#
- scipy.special.multigammaln(a, d)[source]#
返回多变量 gamma 的对数,有时也称为广义 gamma。
- 参数:
- andarray
多变量 gamma 是针对 a 的每个项计算的。
- dint
积分空间的维度。
- 返回:
- resndarray
给定点 a 处多变量 gamma 对数的值。
说明
维度 d 的多变量 gamma 的形式定义对于实数 a 来说是
\[\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