scipy.special.
multigammaln#
- scipy.special.multigammaln(a, d)[source]#
返回多變量伽瑪函數的對數值,有時也稱為廣義伽瑪函數。
- 參數:
- 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, Aspects of multivariate statistical theory (Wiley Series in probability and mathematical statistics).
範例
>>> 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