Exboost.Math (ExBoost v0.3.8)

Copy Markdown View Source

Summary

Functions

Provides the digamma function.

Provides the regularized lower incomplete gamma function.

Implements the inverse of the regularized incomplete gamma function.

Provides the log gamma function.

Provides the gamma function.

Provides the non-regularized lower incomplete gamma function.

Functions

digamma(z)

@spec digamma(z :: float()) :: float()

Provides the digamma function.

Examples

iex> Exboost.Math.digamma(1.5)
0.03648997397857652

gamma_p(a, z)

@spec gamma_p(a :: float(), z :: float()) :: float()

Provides the regularized lower incomplete gamma function.

Examples

iex> Exboost.Math.gamma_p(0.234,2.3)
0.9891753004794075

iex> Exboost.Math.gamma_p(5.0,0.0)
0.0

gamma_p_inv(a, p)

@spec gamma_p_inv(a :: float(), p :: float()) :: float()

Implements the inverse of the regularized incomplete gamma function.

Examples:

iex> Exboost.Math.gamma_p_inv(0.234,0.9891753004794075) |> Float.round(6)
2.3

iex> Exboost.Math.gamma_p_inv(5.0,0.0)
0.0

init()

lgamma(z)

@spec lgamma(z :: float()) :: float()

Provides the log gamma function.

Examples

iex> Exboost.Math.lgamma(2.0)
0.0

tgamma(z)

@spec tgamma(z :: float()) :: float()

Provides the gamma function.

Examples

iex> Exboost.Math.tgamma(1.5)
0.8862269254527579

iex> Exboost.Math.tgamma(3.0)
2.0

tgamma_lower(a, z)

@spec tgamma_lower(a :: float(), z :: float()) :: float()

Provides the non-regularized lower incomplete gamma function.

Examples

iex> Exboost.Math.tgamma_lower(0.234,2.3)
3.846147673628932

iex> Exboost.Math.tgamma_lower(5.0,0.0)
0.0