计算不完全β函数及其导数
betaincder的Python项目详细描述
欢迎
这个小库包含一些用于计算的c/cython代码
- (规范化的)不完全β函数-
betainc
- 不完全β函数的一阶导数(w.r.t.形状参数) 通过Inbeder算法
- digamma(psi)函数、beta函数及其对数(
betaln
)
API
beta(p, q)
:计算β函数,其中B(p,q) = Gamma(p)*Gamma(q)/Gamma(p+q)
betaln(p, q)
:计算beta函数的对数,其中betaln(p,q) = ln B(p,q) = ln Gamma(p) + ln Gamma(q) - ln Gamma(p+q)
betainc(x, p, q)
:计算正则不完全beta函数,其中betainc(x, p, q) = I_x(p, q)
。见http://mathworld.wolfram.com/IncompleteBetaFunction.htmlbetaincderp(x, p, q)
:计算正则不完全β函数相对于第一形状参数的一阶导数p
。betaincderq(x, p, q)
:正则不完全β函数的一阶导数,与第二形状参数q
有关。digamma(x)
:digamma函数。见http://mathworld.wolfram.com/DigammaFunction.html。
安装
$ pip install betaincder
用法
函数可以从python调用,也可以从cython调用cimport
。
frombetaincderimportbetainc,betaincderp,betaincderqprintbetaincderq(.5,10,10)
或
%%cythonfrombetaincder.c.betaincdercimportdigamma,betaln,betainc,betaincderqprintbetaincderq(.5,10,10)
参考文献
- Robinson Cox,J.F.,&Boik,R.J.(1998年)。不完全β函数的导数。统计软件杂志,3(01)。
- 运算法则AS 103:PSI(digamma)函数〉,《皇家统计学会期刊》。C辑(应用统计学)25.3(1976):315-317。