Returns lgamma(y) - lgamma(x + y), accurately.
tfp.math.log_gamma_difference(
x, y, name=None
)
This is more accurate than subtracting lgammas directly because lgamma grows
as x log(x) - x + o(x)
, and thus subtracting the value of lgamma for two
close, large arguments incurs catastrophic cancellation.
When y >= 8
, the method is to partition lgamma into the Stirling
approximation and the correction log_gamma_correction
, symbolically cancel
the former, and compute and subtract the latter.