FLINT3.7.0-dev

_arb_poly_swinnerton_dyer_ui, arb_poly_swinnerton_dyer_ui, _arb_poly_swinnerton_dyer_ui_prec

Synopsis#include <flint/arb_poly.h>
void _arb_poly_swinnerton_dyer_ui(arb_ptr poly, ulong n, slong trunc, slong prec)source
void arb_poly_swinnerton_dyer_ui(arb_poly_t poly, ulong n, slong prec)source
slong _arb_poly_swinnerton_dyer_ui_prec(ulong n)source

Set poly to the Swinnerton-Dyer polynomial S_n = \prod (x \pm \sqrt{2} \pm \sqrt{3} \pm \cdots \pm \sqrt{p_n}) of degree 2^n, the minimal polynomial over \mathbb{Q} of the sum of the square roots of the first n primes. If prec is 0, the precision _arb_poly_swinnerton_dyer_ui_prec(n) is used, which is chosen so that arb_poly_get_unique_fmpz_poly should succeed.

The underscore version computes only the first trunc coefficients, but poly must have room for 2^n + 1 coefficients, which are used as temporary space. The factors are multiplied in a balanced tree of products of polynomials in x^2. The precision estimate is half of a bound derived from the binomial theorem, plus 15 bits; it is a heuristic. fmpz_poly_swinnerton_dyer uses these functions.

Cite this page

The FLINT team, “_arb_poly_swinnerton_dyer_ui, arb_poly_swinnerton_dyer_ui, _arb_poly_swinnerton_dyer_ui_prec (arb_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/arb_poly/_arb_poly_swinnerton_dyer_ui.html (generated 2026-10-20).