Which equations can be solved by Boost C++ library’s ibeta_inva, ibeta_invb, and gamma_q_inva functions?

117 Views Asked by At

All functions in this question are directly from this Boost C++ library page. These functions find the value of a random variable such that the distribution of the random variable equals a given probability, or the quantile function for Regularized Incomplete Beta and Regularized Incomplete Gamma distributions. These functions are also hard to calculate, so algorithms are used to evaluate them, but they still have applications in problem solving. Here are the definitions from Boost:

$$\text I_z(a,b)=\frac{\int_0^zt^{a-1}(1-t)^{b-1}dt}{\int_0^\infty t^{a-1}(1-t)^{b-1}dt}=k\implies a=\text{ibeta_inva}(z,k,b),b=\text{ibeta_invb}(z,a,k)$$

and

$$Q(a,z)=\frac{\int_z^\infty t^{a-1}e^{-t}dt}{\int_0^\infty t^{a-1}e^{-t}dt}=k\implies a=\text{gamma_q_inva}(k,z)$$

For example: $$\text I_{1-a}(x,3)=\frac12 a^x ((a^2-4a+3)x+(a-1)^2x^2+2)=k\iff (a-1)^2x^2+(a^2-4a+3)x+2-2ka^{-x}=0\implies x=\text{ibeta_inva}(1-a,k,3)$$

and

$$\text I_{1-a}(3,x)=-\frac12 a^x(-2ax^2+a^2x^2-4ax+a^2x+x^2+3x+2)-2=k\iff (a-1)^2 x^2+(a^2-4a+3)x+2+(2k+4)a^{-x}=0\implies x=\text{ibeta_invb}(1-a,3,k)$$

These quantile functions are implemented in scipy like here and not made up. Simpler cases of the ibeta_inva/ibeta_invb are the W-Lambert function and logarithm function. Boost gives little information on the domain and notation of these 3 functions.

However, I could find no other types equations which could be “solved” by using ibeta_inva/ibeta_invb except for $a^x+a_nx^n+…a_1x+a_0=0$. Additionally, I found no special cases of $Q(a,z)$ for which substituting a value for $z$ gives a simpler function and we can use gamma_q_inva to find the inverse.

What other equations are solved by gamma_q_inva, ibeta_inva, and ibeta_invb? Please correct me and give me feedback!

1

There are 1 best solutions below

0
On BEST ANSWER

This question has functions which are not fully recognized, but the question still has success, so here are applications:

Since the Lerch Transcendent $\Phi(z,s,a)$ and the Regularized Beta function are:

$$\lim_{b\to0} \text B(x,b) \text I_a(x,b)=a^x \Phi(a,1,x)$$

one can use Boost’s, and SciPy’s similar functions, ibeta_inva and equivalent ibeta_invb functions to solve for $x$ with a limit.

For gamma_q_inva and gamma_p_inva, there is only one possible application which is to solve for $n$ in the exponential sum function with the Regularized Incomplete Gamma function:

$$\text e_n(x)=\sum_{k=0}^n \frac{x^k}{k!}=e^x Q(n+1,x)$$

but this function is too specific and may not have any other applications. Also, see the question for reference. Please correct me and give me feedback!