![]() |
Stan Math Library
5.0.0
Automatic Differentiation
|
return_type_t< T1, T2 > stan::math::lbeta | ( | const T1 | a, |
const T2 | b | ||
) |
Return the log of the beta function applied to the specified arguments.
The beta function is defined for a > 0 and b > 0 by
\mbox{B}(a, b) = \frac{\Gamma(a) \Gamma(b)}{\Gamma(a+b)}.
This function returns its log,
\log \mbox{B}(a, b) = \log \Gamma(a) + \log \Gamma(b) - \log \Gamma(a+b).
See stan::math::lgamma() for the double-based and stan::math for the variable-based log Gamma function. This function is numerically more stable than naive evaluation via lgamma.
\mbox{lbeta}(\alpha, \beta) = \begin{cases} \ln\int_0^1 u^{\alpha - 1} (1 - u)^{\beta - 1} \, du & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases}
\frac{\partial\, \mbox{lbeta}(\alpha, \beta)}{\partial \alpha} = \begin{cases} \Psi(\alpha)-\Psi(\alpha+\beta) & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases}
\frac{\partial\, \mbox{lbeta}(\alpha, \beta)}{\partial \beta} = \begin{cases} \Psi(\beta)-\Psi(\alpha+\beta) & \mbox{if } \alpha, \beta>0 \\[6pt] \textrm{NaN} & \mbox{if } \alpha = \textrm{NaN or } \beta = \textrm{NaN} \end{cases}
T1 | type of first value |
T2 | type of second value |
a | First value |
b | Second value |