### The Maxima on-line user's manual

Algebra Calculator

#### Beta_incomplete

Function: beta_incomplete (<a>, <b>, <z>) The basic definition of the incomplete beta function (A&S 6.6.1) is

z / [ b - 1 a - 1 I (1 - t) t dt ] / 0

This definition is possible for realpart(a)>0 and realpart(b)>0 and abs(z)<1. For other values the incomplete beta function can be defined through a generalized hypergeometric function:

gamma(a) hypergeometric_generalized([a, 1 - b], [a + 1], z) z

(See functions.wolfram.com for a complete definition of the incomplete beta function.)

For negative integers a = -n and positive integers b=m with m<=n the incomplete beta function is defined through

m - 1 k ==== (1 - m) z n - 1 \ k z > ----------- / k! (n - k) ==== k = 0

Maxima uses this definition to simplify `beta_incomplete` for <a> a negative integer.

For <a> a positive integer, `beta_incomplete` simplifies for any argument <b> and <z> and for <b> a positive integer for any argument <a> and <z>, with the exception of <a> a negative integer.

For z=0 and realpart(a)>0, `beta_incomplete` has the specific value zero. For <z=1> and realpart(b)>0, `beta_incomplete` simplifies to the beta function `beta(a,b)`.

Maxima evaluates `beta_incomplete` numerically for real and complex values in float or bigfloat precision. For the numerical evaluation an expansion of the incomplete beta function in continued fractions is used.

When `beta_expand` is `true`, Maxima expands expressions like `beta_incomplete(a+n,b,z)` and `beta_incomplete(a-n,b,z)` where n is a positive integer.

Maxima knows the derivatives of `beta_incomplete` with respect to the variables <a>, <b> and <z> and the integral with respect to the variable <z>.

Examples:

Simplification for <a> a positive integer:

```          (%i1) beta_incomplete(2,b,z);
b
1 - (1 - z)  (b z + 1)
(%o1)                       ----------------------
b (b + 1)```

Simplification for <b> a positive integer:

```          (%i2) beta_incomplete(a,2,z);
a
(a (1 - z) + 1) z
(%o2)                         ------------------
a (a + 1)```

Simplification for <a> and <b> a positive integer:

```          (%i3) beta_incomplete(3,2,z);
3
(3 (1 - z) + 1) z
(%o3)                         ------------------
12```

<a> is a negative integer and b<=(-a), Maxima simplifies:

```          (%i4) beta_incomplete(-3,1,z);
1
(%o4)                              - ----
3
3 z```

For the specific values z=0 and z=1, Maxima simplifies:

```          (%i5) assume(a>0,b>0)\$
(%i6) beta_incomplete(a,b,0);
(%o6)                                 0
(%i7) beta_incomplete(a,b,1);
(%o7)                            beta(a, b)```

Numerical evaluation in float or bigfloat precision:

```          (%i8) beta_incomplete(0.25,0.50,0.9);
(%o8)                          4.594959440269333
(%i9)  fpprec:25\$
(%i10) beta_incomplete(0.25,0.50,0.9b0);
(%o10)                    4.594959440269324086971203b0```

For abs(z)>1 `beta_incomplete` returns a complex result:

```          (%i11) beta_incomplete(0.25,0.50,1.7);
(%o11)              5.244115108584249 - 1.45518047787844 %i```

Results for more general complex arguments:

```          (%i14) beta_incomplete(0.25+%i,1.0+%i,1.7+%i);
(%o14)             2.726960675662536 - .3831175704269199 %i
(%i15) beta_incomplete(1/2,5/4*%i,2.8+%i);
(%o15)             13.04649635168716 %i - 5.802067956270001
(%i16)```

Expansion, when `beta_expand` is `true`:

```          (%i23) beta_incomplete(a+1,b,z),beta_expand:true;
b  a
a beta_incomplete(a, b, z)   (1 - z)  z
(%o23)             -------------------------- - -----------
b + a                 b + a```

```          (%i24) beta_incomplete(a-1,b,z),beta_expand:true;
b  a - 1
beta_incomplete(a, b, z) (- b - a + 1)   (1 - z)  z
(%o24)     -------------------------------------- - ---------------
1 - a                         1 - a```

Derivative and integral for `beta_incomplete`:

```          (%i34) diff(beta_incomplete(a,b,z),z);
b - 1  a - 1
(%o34)                        (1 - z)      z
(%i35) integrate(beta_incomplete(a,b,z),z);
(%o35)     beta_incomplete(a, b, z) z - beta_incomplete(a + 1, b, z)
(%i36) diff(%,z);
(%o36)                     beta_incomplete(a, b, z)```

There are also some inexact matches for `beta_incomplete`. Try `?? beta_incomplete` to see them.

```(%o1)                                true
(%i2) ```

### Related Examples

##### beta_incomplete-integrate

integrate(beta_incomp...

Calculate

##### beta_incomplete-integrate

integrate(beta_incomp...

Calculate

##### beta_incomplete

? beta_incomplete;

Calculate

##### beta_incomplete-integrate

integrate(beta_incomp...

Calculate

##### beta_incomplete-integrate

integrate(beta_incomp...

Calculate

##### beta_incomplete

? beta_incomplete;

Calculate