| Home | Libraries | People | FAQ | More

### Hypergeometric 2F0

    #include <boost/math/special_functions/hypergeometric_2F0.hpp>

    namespace boost { namespace math {

    template <class T1, class T2, class T3>
    calculated-result-type hypergeometric_2F0(T1 a1, T2 a2, T3 z);

    template <class T1, class T2, class T3, class Policy>
    calculated-result-type hypergeometric_2F0(T1 a1, T2 a2, T3 z, const Policy&);

    }}

##### Description

The function `hypergeometric_2F0` returns the result of

The return type of these functions is computed using the result type calculation rules when `T1` and `T2` are different types.

The final Policy argument is optional and can be used to control the behaviour of the function: how it handles errors, what level of precision to use etc. Refer to the policy documentation for more details.

The functions return the result of domain_error whenever the result is undefined or complex. The valid domain for this function occurs only when one of `a1` or `a2` is a negative integer: ie the polynomial case.

##### Implementation

When `a1 == a2 - 0.5` then the function is implemented in terms of the Hermite polynomial:

When both `a1` and `a2` are integers then the function is implemented in terms of the associated-Laguerre polynomial:

If the defining series is divergent, we use the continued fraction

Otherwise we use the defining series.