FLINT3.7.0-dev

_acb_poly_exp_series_basecase, acb_poly_exp_series_basecase, _acb_poly_exp_series, acb_poly_exp_series

Synopsis#include <flint/acb_poly.h>
void _acb_poly_exp_series_basecase(acb_ptr f, acb_srcptr h, slong hlen, slong n, slong prec)source
void acb_poly_exp_series_basecase(acb_poly_t f, const acb_poly_t h, slong n, slong prec)source
void _acb_poly_exp_series(acb_ptr f, acb_srcptr h, slong hlen, slong n, slong prec)source
void acb_poly_exp_series(acb_poly_t f, const acb_poly_t h, slong n, slong prec)source

Set f to exp⁡h\exp h truncated to length n. The underscore versions allow aliasing.

The basecase version uses the recurrence kfk=∑j=1kjhjfk−jk f_k = \sum_{j=1}^{k} j h_j f_{k-j} (from f′=h′ff' = h' f) with O(n⋅hlen)O(n \cdot \mathit{hlen}) operations; for long dense input at high precision it first splits off the high part of hh to save operations. The default handles h=a+bxdh = a + bx^d directly, uses the basecase version if hlen\mathit{hlen} is at most 750 (for prec≤256\mathit{prec} \le 256) or 105/(ln⁡prec)310^5 / (\ln \mathit{prec})^3, and otherwise the Newton iteration of [HZ2004] that updates exp⁡(h)\exp(h) and exp⁡(−h)\exp(-h) together, at a cost of O(M(n))O(M(n)).

References#

Cite this page

The FLINT team, “_acb_poly_exp_series_basecase, acb_poly_exp_series_basecase, _acb_poly_exp_series, acb_poly_exp_series (acb_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_poly/_acb_poly_exp_series_basecase.html (generated 2026-11-02).