nmod_mat_howell_form
Synopsis
#include <flint/nmod_mat.h>slong nmod_mat_howell_form(nmod_mat_t A)sourcePuts A in Howell form [StoMul1998] and returns the number k of nonzero rows, which come first. A must have at least as many rows as columns.
The Howell form is computed as the strong echelon form, followed by moving the zero rows to the bottom. Two matrices span the same submodule of (\mathbb{Z}/n\mathbb{Z})^c if and only if their Howell forms are equal.
Guides#
References#
- [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, “nmod_mat_howell_form (nmod_mat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/nmod_mat/nmod_mat_howell_form.html (generated 2026-10-20).
@misc{flint-doc-nmod-mat-nmod-mat-howell-form,
author = {{The FLINT team}},
title = {{nmod\_mat\_howell\_form (nmod\_mat.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/nmod_mat/nmod_mat_howell_form.html},
note = {Generated 2026-10-20}
}