1 #ifndef STAN_MATH_PRIM_SCAL_FUN_GRAD_INC_BETA_HPP 2 #define STAN_MATH_PRIM_SCAL_FUN_GRAD_INC_BETA_HPP 18 double a,
double b,
double z) {
25 double C =
exp(a * c1 + b * c2) / a;
28 if (C)
grad_2F1(dF1, dF2, a + b, 1.0, a + 1, z);
29 g1 = (c1 - 1.0 / a) * c3 + C * (dF1 + dF2);
30 g2 = c2 * c3 + C * dF1;
fvar< T > lbeta(const fvar< T > &x1, const fvar< T > &x2)
fvar< T > log(const fvar< T > &x)
void grad_inc_beta(fvar< T > &g1, fvar< T > &g2, fvar< T > a, fvar< T > b, fvar< T > z)
Gradient of the incomplete beta function beta(a, b, z) with respect to the first two arguments...
fvar< T > inc_beta(const fvar< T > &a, const fvar< T > &b, const fvar< T > &x)
fvar< T > exp(const fvar< T > &x)
fvar< T > log1m(const fvar< T > &x)
void grad_2F1(T &gradA, T &gradC, T a, T b, T c, T z, T precision=1e-6)