FLINT3.7.0-dev

fmpz_mod_mat_howell_form

Synopsis#include <flint/fmpz_mod_mat.h>
slong fmpz_mod_mat_howell_form(fmpz_mod_mat_t mat, const fmpz_mod_ctx_t ctx)source

Transforms mat into its Howell form [How1986; StoMul1998] and returns the number of nonzero rows. mat must have at least as many rows as columns. Two matrices generate the same submodule of (\mathbb{Z}/n\mathbb{Z})^c if and only if their Howell forms are equal.

Guides#

References#

  • [How1986] J. A. Howell, "Spans in the module (\mathbb{Z}_m)^s", Linear and Multilinear Algebra 19 (1986), 67-77
  • [StoMul1998] Storjohann, Arne and Mulders, Thom : Fast algorithms for linear algebra modulo :math:N : Algorithms—{ESA} '98 (Venice), Lecture Notes in Comput. Sci. 1461 139–150
Cite this page

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