fq_mat_mul_KS
#include <flint/fq_mat.h>Every entry, a polynomial of degree less than d with coefficients in [0, p), is packed into an integer with fq_bit_pack, using fields of b = \operatorname{bits}((p - 1)^2 k d) + 1 bits for an inner dimension k, enough to hold every coefficient of a sum of k products of two such polynomials. The integer matrices are multiplied with fmpz_mat_mul, which uses multimodular and BLAS-like methods (see Multiplying matrices over Z/nZ), and the entries of the product are unpacked with fq_bit_unpack, which reduces modulo p and the defining polynomial. One reduction per entry is needed, and the product of the packed matrices has entries of about 2db bits.
The FLINT team, “fq_mat_mul_KS (fq_mat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fq_mat/fq_mat_mul_KS.html (generated 2026-10-20).
@misc{flint-doc-fq-mat-fq-mat-mul-KS,
author = {{The FLINT team}},
title = {{fq\_mat\_mul\_KS (fq\_mat.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fq_mat/fq_mat_mul_KS.html},
note = {Generated 2026-10-20}
}