nfloat_complex_mat_mul, nfloat_complex_mat_mul_fixed, nfloat_complex_mat_mul_block, nfloat_complex_mat_mul_reorder
#include <flint/nfloat.h>int nfloat_complex_mat_mul_fixed(gr_mat_t C, const gr_mat_t A, const gr_mat_t B, slong max_extra_prec, gr_ctx_t ctx)sourceint nfloat_complex_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)sourceint nfloat_complex_mat_mul_reorder(gr_mat_t C, const gr_mat_t A, const gr_mat_t B, gr_ctx_t ctx)sourceComplex matrix multiplication, as for the real matrices. The fixed-point and block versions use three real products (the Karatsuba formula (AC - BD) + ((A + B)(C + D) - AC - BD)i); nfloat_complex_mat_mul_reorder separates the real and imaginary parts into real matrices and multiplies them with nfloat_mat_mul (with fewer products when A or B is real). nfloat_complex_mat_mul uses the reordering for real factors and for parts that are not well scaled.
The FLINT team, “nfloat_complex_mat_mul, nfloat_complex_mat_mul_fixed, nfloat_complex_mat_mul_block, nfloat_complex_mat_mul_reorder (nfloat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/nfloat/nfloat_complex_mat_mul.html (generated 2026-10-20).
@misc{flint-doc-nfloat-nfloat-complex-mat-mul,
author = {{The FLINT team}},
title = {{nfloat\_complex\_mat\_mul, nfloat\_complex\_mat\_mul\_fixed, nfloat\_complex\_mat\_mul\_block, nfloat\_complex\_mat\_mul\_reorder (nfloat.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/nfloat/nfloat_complex_mat_mul.html},
note = {Generated 2026-10-20}
}