| Home | Libraries | People | FAQ | More

### Hypergeometric 0F1

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

    namespace boost { namespace math {

    template <class T1, class T2>
    calculated-result-type hypergeometric_0F1(T1 b, T2 z);

    template <class T1, class T2, class Policy>
    calculated-result-type hypergeometric_0F1(T1 b, T2 z, const Policy&);

    }} // namespaces

##### Description

The function `hypergeometric_0F1` 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. This occurs only when `b` is an integer <= 0.

##### Implementation

The function is implemented via its defining series wherever convergent.

For a divergent series we use the continued fraction as long as the result is not too small:

and one of the Bessel function relations otherwise: