tree 940bd1497831563a1792aea863ce9e2a9afd0b45
parent e206f8d4a401fe2060bada4d4b5d92e3bf3b561c
author Michael Figurnov <mfigurnov@google.com> 1528307366 +0100
committer Michael Figurnov <mfigurnov@google.com> 1528307366 +0100

Derivative of the incomplete Gamma function and the sample of a Gamma random variable.

In addition to igamma(a, x), this code implements:
* igamma_der_a(a, x) = d igamma(a, x) / da -- derivative of igamma with respect to the parameter
* gamma_sample_der_alpha(alpha, sample) -- reparameterization derivative of a Gamma(alpha, 1) random variable sample with respect to the alpha parameter

The derivatives are computed by forward mode differentiation of the igamma(a, x) code. Although gamma_sample_der_alpha can be implemented via igamma_der_a, a separate function is more accurate and efficient due to analytical cancellation of some terms. All three functions are implemented by a method parameterized with "mode" that always computes the derivatives, but does not return them unless required by the mode. The compiler is expected to (and, based on benchmarks, does) skip the unnecessary computations depending on the mode.
