computes the Hermite normal form of the matrix P of univariate polynomials.
computes the Hermite normal form for a matrix of polynomials in the variable x.


PolynomialHermiteReduce
computes the Hermite normal form of the matrix P of univariate polynomials.
computes the Hermite normal form for a matrix of polynomials in the variable x.
Details

- PolynomialHermiteReduce is the polynomial analog of HermiteReduce.
- A matrix h is said to be in Hermite normal form if the first nonzero entry in each row is a (possibly constant) polynomial such that all entries above it are of strictly lower degree and all entries below it are zero. Such elements are sometimes referred to as the pivots.
- The polynomial Hermite reduction of a matrix m of univariate polynomials gives a matrix h comprised of polynomials, such that h is the Hermite normal form of .
- The matrix m need not be square and need not have full rank. The Hermite normal-form matrix h will have the same dimensions as m.
- The Hermite form is canonical, that is, unique, up to multiplying rows by constants. Typically these are normalized either by having pivots be monic or, if the base field is the rationals, having all polynomial coefficients be integers.
- The Hermite normal form for a polynomial matrix is similar to the row echelon form, except no divisions with polynomial denominators can be performed. Thus all operations that put a matrix into this form can be inverted in the ring itself. Division in row reduction is effectively replaced by taking extended greatest common divisors in the polynomial ring.
Examples
open all close allBasic Examples (2)
Scope (4)
Options (3)
Modulus (1)
PolynomialHermiteReduce can work modulo a prime:
Applications (2)
Create an underdetermined system using a 6×8 matrix of random quartic polynomials:
A function to find polynomial solutions to linear systems with polynomial coefficients:
One can get a solution faster using LinearSolve:
But several components are rational functions rather than polynomials:
One can use PolynomialHermiteReduce to compute left-extended GCDs of two polynomial matrices.
Construct a pair of matrices with a known nontrivial left common divisor:
Join these transposed and compute the Hermite reduction:
The GCD matrix is obtained from h:
Create a solver over the univariate polynomial ring:
Use it to recover the GCD cofactors:
While a matrix GCD is not unique, any one is related to another by a unimodular transformation.
Construct the unimodular matrix transforming gcd to the common multiplier m3:
Properties & Relations (3)
Compute the Hermite normal form of a matrix:
The Hermite normal form can also be obtained from the second matrix returned by PolynomialHermiteDecomposition:
The Hermite form of a matrix is unique only up to constant multiples of the rows:
Only consider second element of second rows to avoid a division by zero:
Create a pair of polynomials with a known common divisor (which is the GCD with high probability):
Compute the Hermite reduction:
The first row of h will recover the GCD up to a unit factor:
PolynomialHermiteReduce works over the Euclidean ring of univariate polynomials:
The entries above any pivot are always lower in degree than that pivot:
In contrast, HermiteReduce works over the Euclidean ring of the integers:
Now the entries above any pivot are always smaller in absolute value than that pivot:
Note that integers and polynomials are different as rings, and in particular one does not recover anything resembling the integer Hermite decomposition by making the polynomial variable zero:
Related Guides
History
Text
Wolfram Research (2025), PolynomialHermiteReduce, Wolfram Language function, https://reference.wolfram.com/language/ref/PolynomialHermiteReduce.html.
CMS
Wolfram Language. 2025. "PolynomialHermiteReduce." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/PolynomialHermiteReduce.html.
APA
Wolfram Language. (2025). PolynomialHermiteReduce. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PolynomialHermiteReduce.html
BibTeX
@misc{reference.wolfram_2025_polynomialhermitereduce, author="Wolfram Research", title="{PolynomialHermiteReduce}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/PolynomialHermiteReduce.html}", note=[Accessed: 04-August-2025]}
BibLaTeX
@online{reference.wolfram_2025_polynomialhermitereduce, organization={Wolfram Research}, title={PolynomialHermiteReduce}, year={2025}, url={https://reference.wolfram.com/language/ref/PolynomialHermiteReduce.html}, note=[Accessed: 04-August-2025]}