FLINT3.7.0-dev

nfloat_mat_mul_block

Synopsis#include <flint/nfloat.h>
int nfloat_mat_mul_block(gr_mat_t C, const gr_mat_t A, const gr_mat_t B, slong min_block_size, gr_ctx_t ctx)source

Sets C = AB by splitting the inner dimension into blocks in which the entries of each row of A and each column of B have similar exponents, scaling the blocks to integer matrices and multiplying them exactly with fmpz_mat_mul (multimodular or FFT methods), as arb_mat_mul_block [Joh2019dot]. Blocks shorter than min_block_size are handled with dot products.

References#

  • [Joh2019dot] F. Johansson. Faster arbitrary-precision dot product and matrix multiplication. Proceedings of the 26th IEEE Symposium on Computer Arithmetic (ARITH-26), 2019, 15–22. https://arxiv.org/abs/1901.04289
Cite this page

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