FLINT3.7.0-dev

_acb_poly_binomial_transform_basecase, acb_poly_binomial_transform_basecase, _acb_poly_binomial_transform_convolution, acb_poly_binomial_transform_convolution, _acb_poly_binomial_transform, acb_poly_binomial_transform

Synopsis#include <flint/acb_poly.h>
void _acb_poly_binomial_transform_basecase(acb_ptr b, acb_srcptr a, slong alen, slong len, slong prec)source
void acb_poly_binomial_transform_basecase(acb_poly_t b, const acb_poly_t a, slong len, slong prec)source
void _acb_poly_binomial_transform_convolution(acb_ptr b, acb_srcptr a, slong alen, slong len, slong prec)source
void acb_poly_binomial_transform_convolution(acb_poly_t b, const acb_poly_t a, slong len, slong prec)source
void _acb_poly_binomial_transform(acb_ptr b, acb_srcptr a, slong alen, slong len, slong prec)source
void acb_poly_binomial_transform(acb_poly_t b, const acb_poly_t a, slong len, slong prec)source

Set b to the binomial transform of a truncated to length len, b_n = \sum_{k=0}^{n} (-1)^k \binom{n}{k} a_k. The transform is the power series composition f(x) \mapsto (1-x)^{-1} f(x/(x-1)) and is an involution. The underscore versions require positive lengths and do not allow aliasing.

The basecase version evaluates the sums directly, generating the binomial coefficients by recurrence. The convolution version uses T(f(x)) = B^{-1}(e^x B(f(-x))), where T is the binomial transform and B the Borel transform, at the cost of one polynomial multiplication. The default uses the basecase version if alen or len is below 10.

Cite this page

The FLINT team, “_acb_poly_binomial_transform_basecase, acb_poly_binomial_transform_basecase, _acb_poly_binomial_transform_convolution, acb_poly_binomial_transform_convolution, _acb_poly_binomial_transform, acb_poly_binomial_transform (acb_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_poly/_acb_poly_binomial_transform_basecase.html (generated 2026-10-20).