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=ABC = AB by splitting the inner dimension into blocks in which the entries of each row of AA and each column of BB 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-11-02).