Stan Math Library
4.9.0
Automatic Differentiation
|
TupleT stan::math::internal::grad_2F1_impl | ( | 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.
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.
This power-series representation converges for all gradients under the same conditions as the 2F1 function itself. As with the hypergeometric_2F1 function, if the parameters do not meet convergence criteria then the gradients are calculated using Euler's transformation.
calc_a1 | boolean for whether to calculate gradients w.r.t a1 |
calc_a2 | boolean for whether to calculate gradients w.r.t a2 |
calc_b1 | boolean for whether to calculate gradients w.r.t b1 |
calc_z | boolean for whether to calculate gradients w.r.t z |
T1 | scalar type of a1 |
T2 | scalar type of a2 |
T3 | scalar type of b1 |
T_z | scalar type of z |
[in] | a1 | see generalized hypergeometric function definition |
[in] | a2 | see generalized hypergeometric function definition |
[in] | b1 | see generalized hypergeometric function definition |
[in] | z | see generalized hypergeometric function definition |
[in] | precision | magnitude of the increment of the infinite sum to truncate the sum |
[in] | max_steps | number of steps to take |
Definition at line 170 of file grad_2F1.hpp.