This tiny library contains some C/Cython code for calculating
- the (normalized) incomplete Beta function -
betainc
- the first derivatives (w.r.t. shape parameters) of the incomplete Beta function via the INBEDER algorithm
- the digamma (Psi) function, the beta function and its logarithm (
betaln
)
beta(p, q)
: Calculate the Beta function, whereB(p,q) = Gamma(p)*Gamma(q)/Gamma(p+q)
betaln(p, q)
: Calculate the logarithm of the Beta function, wherebetaln(p,q) = ln B(p,q) = ln Gamma(p) + ln Gamma(q) - ln Gamma(p+q)
betainc(x, p, q)
: Calculate the regularized incomplete Beta function, wherebetainc(x, p, q) = I_x(p, q)
. See http://mathworld.wolfram.com/IncompleteBetaFunction.htmlbetaincderp(x, p, q)
: Compute the first derivative of the regularized incomplete Beta function with respect to the first shape parameterp
.betaincderq(x, p, q)
: First derivative of the regularized incomplete Beta function with respect to the second shape parameterq
.digamma(x)
: The digamma function. See http://mathworld.wolfram.com/DigammaFunction.html.
$ pip install betaincder
The functions can be invoked from python, or cimport
ed from Cython.
from betaincder import betainc, betaincderp, betaincderq
print betaincderq(.5, 10, 10)
or
%%cython
from betaincder.c.betaincder cimport digamma, betaln, betainc, betaincderq
print betaincderq(.5, 10, 10)
- Robinson-Cox, J. F., & Boik, R. J. (1998). Derivatives of the Incomplete Beta Function. Journal of Statistical Software, 3(01).
- Bernardo, Jose M. "Algorithm AS 103: Psi (digamma) function." Journal of the Royal Statistical Society. Series C (Applied Statistics) 25.3 (1976): 315-317.