# igamma

Incomplete gamma function

## Description

example

````igamma(nu,z)` returns the incomplete gamma function.`igamma` uses the definition of the upper incomplete gamma function. See Upper Incomplete Gamma Function. The MATLAB® `gammainc` function uses the definition of the lower incomplete gamma function, ```gammainc(z, nu) = 1 - igamma(nu, z)/gamma(nu)```. The order of input arguments differs between these functions.```

## Examples

### Compute Incomplete Gamma Function for Numeric and Symbolic Arguments

Depending on its arguments, `igamma` returns floating-point or exact symbolic results.

Compute the incomplete gamma function for these numbers. Because these numbers are not symbolic objects, you get floating-point results.

`A = [igamma(0, 1), igamma(3, sqrt(2)), igamma(pi, exp(1)), igamma(3, Inf)]`
```A = 0.2194 1.6601 1.1979 0```

Compute the incomplete gamma function for the numbers converted to symbolic objects:

```symA = [igamma(sym(0), 1), igamma(3, sqrt(sym(2))),... igamma(sym(pi), exp(sym(1))), igamma(3, sym(Inf))]```
```symA = [ -ei(-1), exp(-2^(1/2))*(2*2^(1/2) + 4), igamma(pi, exp(1)), 0]```

Use `vpa` to approximate symbolic results with floating-point numbers:

`vpa(symA)`
```ans = [ 0.21938393439552027367716377546012,... 1.6601049038903044104826564373576,... 1.1979302081330828196865548471769,... 0]```

### Compute Lower Incomplete Gamma Function

`igamma` is implemented according to the definition of the upper incomplete gamma function. If you want to compute the lower incomplete gamma function, convert results returned by `igamma` as follows.

Compute the lower incomplete gamma function for these arguments using the MATLAB `gammainc` function:

```A = [-5/3, -1/2, 0, 1/3]; gammainc(A, 1/3)```
```ans = 1.1456 + 1.9842i 0.5089 + 0.8815i 0.0000 + 0.0000i 0.7175 + 0.0000i```

Compute the lower incomplete gamma function for the same arguments using `igamma`:

`1 - igamma(1/3, A)/gamma(1/3)`
```ans = 1.1456 + 1.9842i 0.5089 + 0.8815i 0.0000 + 0.0000i 0.7175 + 0.0000i```

If one or both arguments are complex numbers, use `igamma` to compute the lower incomplete gamma function. `gammainc` does not accept complex arguments.

`1 - igamma(1/2, i)/gamma(1/2)`
```ans = 0.9693 + 0.4741i```

## Input Arguments

collapse all

### `nu` — Inputsymbolic number | symbolic variable | symbolic expression | symbolic function | symbolic vector | symbolic matrix

Input, specified as a symbolic number, variable, expression, or function, or as a vector or matrix of symbolic numbers, variables, expressions, or functions.

### `z` — Inputsymbolic number | symbolic variable | symbolic expression | symbolic function | symbolic vector | symbolic matrix

Input, specified as a symbolic number, variable, expression, or function, or as a vector or matrix of symbolic numbers, variables, expressions, or functions.

collapse all

### Upper Incomplete Gamma Function

The following integral defines the upper incomplete gamma function:

$\Gamma \left(\eta ,z\right)=\underset{z}{\overset{\infty }{\int }}{t}^{\eta -1}{e}^{-t}dt$

### Lower Incomplete Gamma Function

The following integral defines the lower incomplete gamma function:

$\gamma \left(\eta ,z\right)=\underset{0}{\overset{z}{\int }}{t}^{\eta -1}{e}^{-t}dt$

### Tips

• The MATLAB `gammainc` function does not accept complex arguments. For complex arguments, use `igamma`.

• `gammainc(z, nu) = 1 - igamma(nu, z)/gamma(nu)` represents the lower incomplete gamma function in terms of the upper incomplete gamma function.

• ```igamma(nu,z) = gamma(nu)(1 - gammainc(z, nu))``` represents the upper incomplete gamma function in terms of the lower incomplete gamma function.

• `gammainc(z, nu, 'upper') = igamma(nu, z)/gamma(nu)`.