Automatic Differentiation
 
Loading...
Searching...
No Matches

◆ grad_2F1_impl_ab()

template<bool calc_a1, bool calc_a2, bool calc_b1, typename T1 , typename T2 , typename T3 , typename T_z , typename ScalarT = return_type_t<T1, T2, T3, T_z>, typename TupleT = std::tuple<ScalarT, ScalarT, ScalarT>>
TupleT stan::math::internal::grad_2F1_impl_ab ( const T1 &  a1,
const T2 &  a2,
const T3 &  b1,
const T_z &  z,
double  precision = 1e-14,
int  max_steps = 1e6 
)

Implementation function to calculate the gradients of the hypergeometric function, 2F1 with respect to the a1, a2, and b2 parameters.

Calculate the gradients of the hypergeometric function (2F1) as the power series stopping when the series converges to within precision or throwing when the function takes max_steps steps.

Template Parameters
calc_a1boolean for whether to calculate gradients w.r.t a1
calc_a2boolean for whether to calculate gradients w.r.t a2
calc_b1boolean for whether to calculate gradients w.r.t b1
T1scalar type of a1
T2scalar type of a2
T3scalar type of b1
T_zscalar type of z
Parameters
[in]a1see generalized hypergeometric function definition
[in]a2see generalized hypergeometric function definition
[in]b1see generalized hypergeometric function definition
[in]zsee generalized hypergeometric function definition
[in]precisionmagnitude of the increment of the infinite sum to truncate the sum
[in]max_stepsnumber of steps to take
Returns
Three-element tuple containing gradients w.r.t. a1, a2, and b1, as indicated by the calc_a1, calc_a2, and calc_b1 booleans

Definition at line 52 of file grad_2F1.hpp.