FLINT3.7.0-dev

_gr_poly_mul_karatsuba, gr_poly_mul_karatsuba

Synopsis#include <flint/gr_poly.h>
int _gr_poly_mul_karatsuba(gr_ptr res, gr_srcptr poly1, slong len1, gr_srcptr poly2, slong len2, gr_ctx_t ctx)source
int gr_poly_mul_karatsuba(gr_poly_t res, const gr_poly_t poly1, const gr_poly_t poly2, gr_ctx_t ctx)source

One level of Karatsuba multiplication [KO1962]: three products of half length with sub-products computed by _gr_poly_mul. It is not optimised for unbalanced operands. The underscore version requires positive lengths and does not allow aliasing.

References#

  • [KO1962] A. Karatsuba and Yu. Ofman, "Multiplication of multidigit numbers on automata", Doklady Akademii Nauk SSSR 145 (1962), 293–294; English translation in Soviet Physics Doklady 7 (1963), 595–596
Cite this page

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