scipy.special.

multigammaln#

scipy.special.multigammaln(a, d)[Quelle]#

Gibt den Logarithmus der multivariaten Gammafunktion zurück, auch bekannt als verallgemeinerte Gammafunktion.

Parameter:
andarray

Die multivariate Gammafunktion wird für jedes Element von a berechnet.

dint

Die Dimension des Integrationsraums.

Rückgabe:
resndarray

Die Werte des Logarithmus der multivariaten Gammafunktion an den gegebenen Punkten a.

Hinweise

Die formale Definition der multivariaten Gammafunktion der Dimension d für ein reelles a lautet

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

mit der Bedingung \(a > (d-1)/2\) und \(A > 0\) als Menge aller positiv definiten Matrizen der Dimension d. Beachten Sie, dass a ein Skalar ist: nur der Integrand ist multivariat, das Argument nicht (die Funktion ist über eine Teilmenge der reellen Zahlen definiert).

Dies kann nachgewiesen werden und ist gleich der viel einfacheren Gleichung

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

Referenzen

R. J. Muirhead, Aspects of multivariate statistical theory (Wiley Series in probability and mathematical statistics).

Beispiele

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

Überprüfen Sie, ob das Ergebnis mit dem Logarithmus der oben gezeigten Gleichung übereinstimmt

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