6.9 Beta and incomplete beta function
Beta function
\[ B(a, b) = \frac{\Gamma(a) \Gamma(b)}{\Gamma(a+b)} \]
Beta function can be calculated using the definition, but seldom used.
= function(z, w) exp(lgamma(z) + lgamma(w) - lgamma(z + w)) BetaFx
Incomplete beta function
\[ I(a, b, x) = \frac{1}{B(a,b)} \int_0^x t^{a-1} (1-t)^{b-1} dt \; (a,b>0) \]
betai
## function (a, b, x)
## {
## if (a <= 0 | b <= 0) {
## warning("Bad a or b in routine betai")
## return(NULL)
## }
## if (x < 0 | x > 1) {
## warning("Bad x in routine betai")
## return(NULL)
## }
## if (x == 0 | x == 1)
## return(x)
## SWITCH = 3000
## if (a > SWITCH & b > SWITCH)
## return(betaiapprox(a, b, x))
## bt = exp(gammln(a + b) - gammln(a) - gammln(b) + a * log(x) +
## b * log(1 - x))
## if (x < (a + 1)/(a + b + 2))
## return(bt * betacf(a, b, x)/a)
## else return(1 - bt * betacf(b, a, 1 - x)/b)
## }
## <bytecode: 0x000001e2ac5c26f0>
## <environment: namespace:math>