_ca_poly_mul, ca_poly_mul, _ca_poly_mullow, ca_poly_mullow
#include <flint/ca_poly.h>void _ca_poly_mullow(ca_ptr C, ca_srcptr A, slong lenA, ca_srcptr B, slong lenB, slong n, ca_ctx_t ctx)sourcevoid ca_poly_mullow(ca_poly_t res, const ca_poly_t poly1, const ca_poly_t poly2, slong n, ca_ctx_t ctx)sourceSets res to the product of poly1 and poly2, or to the product truncated to length n. The underscore versions require and , and write lenA + lenB - 1 or n coefficients.
If both factors have rational coefficients (and length at least 4), the product is computed over after clearing denominators. If all coefficients lie in one number field and the lengths are large enough, _ca_poly_mullow_same_nf is used. Otherwise the classical algorithm is used, with a dedicated squaring routine; each coefficient is a dot product computed with ca_dot.
The FLINT team, “_ca_poly_mul, ca_poly_mul, _ca_poly_mullow, ca_poly_mullow (ca_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/ca_poly/_ca_poly_mul.html (generated 2026-11-02).
@misc{flint-doc-ca-poly-ca-poly-mul,
author = {{The FLINT team}},
title = {{\_ca\_poly\_mul, ca\_poly\_mul, \_ca\_poly\_mullow, ca\_poly\_mullow (ca\_poly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/ca_poly/_ca_poly_mul.html},
note = {Generated 2026-11-02}
}