FLINT3.7.0-dev

acb_hypgeom_m_asymp, acb_hypgeom_m_1f1, acb_hypgeom_m, acb_hypgeom_1f1

Synopsis#include <flint/acb_hypgeom.h>
void acb_hypgeom_m_asymp(acb_t res, const acb_t a, const acb_t b, const acb_t z, int regularized, slong prec)source
void acb_hypgeom_m_1f1(acb_t res, const acb_t a, const acb_t b, const acb_t z, int regularized, slong prec)source
void acb_hypgeom_m(acb_t res, const acb_t a, const acb_t b, const acb_t z, int regularized, slong prec)source
void acb_hypgeom_1f1(acb_t res, const acb_t a, const acb_t b, const acb_t z, int regularized, slong prec)source

Sets res to Kummer's confluent hypergeometric function M(a,b,z) = {}_1F_1(a,b,z), or \mathbf{M}(a,b,z) = {}_1F_1(a,b,z)/\Gamma(b) if regularized is nonzero. acb_hypgeom_1f1 is the same function as acb_hypgeom_m.

acb_hypgeom_m_asymp uses the asymptotic expansions of U^{*} through the connection formula

\mathbf{M}(a,b,z) = \frac{(-z)^{-a}}{\Gamma(b-a)} U^{*}(a,b,z) + \frac{z^{a-b} e^z}{\Gamma(a)} U^{*}(b-a,b,-z).

acb_hypgeom_m_1f1 sums the convergent series, after Kummer's transformation M(a,b,z) = e^z M(b-a,b,-z) if \operatorname{Re} z < 0 (unless the series terminates), and handles \mathbf{M} at nonpositive integer b by the limit formula. acb_hypgeom_m chooses: terminating series are summed directly; otherwise it compares the accuracy of the asymptotic expansion (about |z|/\log 2 bits) with that of the convergent series after cancellation, uses Kummer's transformation for negative real part, and sets the working precision accordingly. If the result has less than half the requested accuracy and all arguments are real and moderate, it also tries arb_hypgeom_1f1_integration and keeps the better enclosure. See Confluent hypergeometric functions.

Guides#

Cite this page

The FLINT team, “acb_hypgeom_m_asymp, acb_hypgeom_m_1f1, acb_hypgeom_m, acb_hypgeom_1f1 (acb_hypgeom.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_hypgeom/acb_hypgeom_m_asymp.html (generated 2026-10-20).