scipy.special.loggamma¶
-
scipy.special.loggamma(z, out=None) = <ufunc 'loggamma'>¶ Principal branch of the logarithm of the Gamma function. It is defined to be \(\log(\Gamma(x))\) for \(x > 0\) and extended to the complex plane by analytic continuation. The implementation here is based on [hare1997].
The function has a single branch cut on the negative real axis and is taken to be continuous when approaching the axis from above. Note that 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
loggammaas \(\log(\Gamma(z))\) is that the latter function has a complicated branch cut structure whereasloggammais analytic except for on the negative real axis.The identities
\[\begin{split}\exp(\log\Gamma(z)) &= \Gamma(z) \\ \log\Gamma(z + 1) &= \log(z) + \log\Gamma(z)\end{split}\]make
loggamauseful for working in complex logspace. However,loggammanecessarily returns complex outputs for real inputs, so if you want to work only with real numbers usegammaln. On the real line the two functions are related byexp(loggamma(x)) = gammasgn(x)*exp(gammaln(x)), though in practice rounding errors will introduce small spurious imaginary components inexp(loggamma(x)).New in version 0.18.0.
Parameters: z : array-like
Values in the complex plain at which to compute
loggammaout : ndarray, optional
Output array for computed values of
loggammaReturns: loggamma : ndarray
Values of
loggammaat z.See also
References
[hare1997] (1, 2) D.E.G. Hare, Computing the Principal Branch of log-Gamma, Journal of Algorithms, Volume 25, Issue 2, November 1997, pages 221-236.