mars.tensor.special.
loggamma
Principal branch of the logarithm of the gamma function.
Defined to be \(\log(\Gamma(x))\) for \(x > 0\) and extended to the complex plane by analytic continuation. The function has a single branch cut on the negative real axis.
z (array-like) – Values in the complex plain at which to compute loggamma
out (ndarray, optional) – Output array for computed values of loggamma
loggamma – Values of loggamma at z.
ndarray
提示
It is not generally true that \(\log\Gamma(z) = \log(\Gamma(z))\), though the real parts of the functions do agree. The benefit of not defining loggamma as \(\log(\Gamma(z))\) is that the latter function has a complicated branch cut structure whereas loggamma is analytic except for on the negative real axis.
The identities
make loggamma useful for working in complex logspace.
On the real line loggamma is related to gammaln via exp(loggamma(x + 0j)) = gammasgn(x)*exp(gammaln(x)), up to rounding error.
exp(loggamma(x + 0j)) = gammasgn(x)*exp(gammaln(x))
The implementation here is based on [hare1997].
参见
gammaln
logarithm of the absolute value of the gamma function
gammasgn
sign of the gamma function
引用
D.E.G. Hare, Computing the Principal Branch of log-Gamma, Journal of Algorithms, Volume 25, Issue 2, November 1997, pages 221-236.