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

◆ hypergeometric_2F1() [2/2]

template<typename Ta1 , typename Ta2 , typename Tb , typename Tz , typename ScalarT = return_type_t<Ta1, Ta1, Tb, Tz>, typename OptT = boost::optional<ScalarT>, require_all_arithmetic_t< Ta1, Ta2, Tb, Tz > * = nullptr>
return_type_t< Ta1, Ta1, Tb, Tz > stan::math::hypergeometric_2F1 ( const Ta1 &  a1,
const Ta2 &  a2,
const Tb &  b,
const Tz &  z 
)
inline

Returns the Gauss hypergeometric function applied to the input arguments: \(_2F_1(a_1,a_2;b;z)\).

If the input parameters do not meet convergence criteria, then Euler's transformation is applied to resolve this: https://mathworld.wolfram.com/EulerTransform.html

For some special-case combinations of parameters the series is calculated in closed form, see the internal::hyper_2F1_special_cases function for more details.

See 'grad_2F1.hpp' for the derivatives wrt each parameter

Template Parameters
Ta1Type of scalar first 'a' argument
Ta2Type of scalar second 'a' argument
TbType of scalar 'b' argument
TzType of scalar 'z' argument
Parameters
[in]a1First of 'a' arguments to function
[in]a2Second of 'a' arguments to function
[in]b'b' argument to function
[in]zScalar z argument
Returns
Gauss hypergeometric function

Definition at line 154 of file hypergeometric_2F1.hpp.