# Iridium: Special Functions

## Gamma Function

Iridium provides various gamma-related advanced functions, but beware that mathematicians defined several very similar functions:

**GAMMA(a)** = int(exp(-t)t^(a-1), t=0..infinity) = Gamma Function **gamma(a,x)** = int(exp(-t)t^(a-1),t=0..x) = Lower Incomplete Gamma Function
**Gamma(a,x)** = int(exp(-t)t^(a-1),t=x..infinity) = Upper Incomplete Gamma Function
**P(a,x)** = gamma(a,x)/GAMMA(a) = Lower Regularized Gamma Function **Q(a,x)** = Gamma(a,x)/GAMMA(a) = Upper Regularized Gamma Function

The following functions are directly available in Iridium:

- Fn.GammaLn(a) = ln(abs(GAMMA(a)) = Logarithmic Gamma Function
- Fn.Gamma(a) = GAMMA(a) = Gamma Function
- Fn.GammaRegularized(a,x) = P(a,x) = Lower Regularized Gamma Function
- Fn.InverseGammaRegularized(a,y) = Inverse Lower Regularized Gamma Function

The incomplete (non-regularized) gamma functions can therefore be computed as follows:

- gamma(a,x) = P(a,x)*GAMMA(a) = Fn.GammaRegularized(a,x)*Fn.Gamma(a)
- Gamma(a,x) = (1-P(a,x))*GAMMA(a) = (1-Fn.GammaRegularized(a,x))*Fn.Gamma(a)

## Beta Function

Mathematical Functions:

**BETA(z,w)** = GAMMA(z)*GAMMA(w)/GAMMA(z+w) = Beta Function **Ix(a,b)** = 1/BETA(a,b) * int(t^(a-1)*(1-t)^(b-1),t=0..x) = Lower Regularized Beta Function

The following functions are directly available in Iridium:

- Fn.BetaLn(z,w) = ln(BETA(z,w)) = Logarithmic Beta Function
- Fn.Beta(z,w) = BETA(z,w) = Beta Function
- Fn.BetaRegularized(a,b,x) = Ix(a,b) = Lower Regularized Beta Function

## Digamma (Psi) Function

Mathematical Functions:

**PSI(x)** = diff(GAMMA(x),x)

The following functions are directly available in Iridium:

- Fn.Digamma(x) = PSI(x) = Digamma Function, also known as Psi Function
- Fn.HarmonicNumber(n) = n-th Harmonic Number

## Error Function

Mathematical Functions:

**erf(x)** = 2/sqrt(pi) * int(exp(-t^2),t=0..x)

The following functions are directly available in Iridium:

- Fn.Erf(x) = erf(x) = Error Function
- Fn.ErfInverse(x) = Inverse Error Function