PolynomialHermiteDecomposition[P]
computes the Hermite decomposition of the matrix P of univariate polynomials.
PolynomialHermiteDecomposition[P,x]
computes the Hermite decomposition for a matrix of polynomials in the variable x.
PolynomialHermiteDecomposition
PolynomialHermiteDecomposition[P]
computes the Hermite decomposition of the matrix P of univariate polynomials.
PolynomialHermiteDecomposition[P,x]
computes the Hermite decomposition for a matrix of polynomials in the variable x.
Details and Options
- PolynomialHermiteDecomposition is the polynomial analog of HermiteDecomposition. It gives a canonical decomposition of a polynomial matrix as a unimodular and an upper triangular matrix.
- PolynomialHermiteDecomposition is typically used in applications similar to where one uses RowReduce with the big difference being that one is only looking for polynomial solutions and not rational function solutions.
- The Hermite decomposition is computed by doing polynomial row operations: multiply by a polynomial, permute rows and add rows. This corresponds to multiplying by a matrix
from the left, and the result is an upper triangular Hermite form
. - The matrix
is unimodular, i.e.
is constant, so the inverse
is also a polynomial matrix. and the polynomial matrix
has the decomposition
: - The matrix
is an upper triangular polynomial matrix that is also a canonical form of
up to multiplying each row with constants. The first nonzero entry in each row is a polynomial such that all entries above it are of strictly lower degree and all entries below it are zero. - PolynomialHermiteDecomposition takes the following options:
-
Method Automatic method to use Modulus 0 modulus to assume for integers
Examples
open all close allBasic Examples (2)
Scope (4)
The matrix can have rational coefficients:
Check that the determinant of u is constant and check the required matrix equation:
The matrix can have complex coefficients:
Check that the determinant of u is constant and verify the required matrix equation:
The matrix can have approximate coefficients:
Check that the determinant of u is constant and check the required matrix equation to reasonable precision:
The matrix can have symbolic coefficients:
Check that u is unimodular; in this case, it is a constant with respect to the polynomial variable x:
Options (3)
Modulus (1)
PolynomialHermiteDecomposition can work modulo a prime:
Check that the determinant of u is constant and check the required matrix equation:
Applications (2)
Polynomial Equations (1)
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:
Greatest Common Left Divisor (GCLD) (1)
One can use PolynomialHermiteDecomposition 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 decomposition:
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 extended GCD of this pair:
Compute the Hermite decomposition:
The first row of h will recover the GCD up to a unit factor:
The first row of u will recover the extended GCD multipliers up to a unit factor:
PolynomialHermiteDecomposition works over the Euclidean ring of univariate polynomials:
The entries above any pivot are always lower in degree than that pivot:
The determinant of u must be a nonzero number, as these are exactly the invertible polynomials:
In contrast, HermiteDecomposition works over the Euclidean ring of the integers:
Now the entries above any pivot are always smaller in absolute value than that pivot:
The determinant of u2 must be 1 or
, as these are the only invertible integers:
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), PolynomialHermiteDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/PolynomialHermiteDecomposition.html.
CMS
Wolfram Language. 2025. "PolynomialHermiteDecomposition." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/PolynomialHermiteDecomposition.html.
APA
Wolfram Language. (2025). PolynomialHermiteDecomposition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PolynomialHermiteDecomposition.html
BibTeX
@misc{reference.wolfram_2025_polynomialhermitedecomposition, author="Wolfram Research", title="{PolynomialHermiteDecomposition}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/PolynomialHermiteDecomposition.html}", note=[Accessed: 15-November-2025]}
BibLaTeX
@online{reference.wolfram_2025_polynomialhermitedecomposition, organization={Wolfram Research}, title={PolynomialHermiteDecomposition}, year={2025}, url={https://reference.wolfram.com/language/ref/PolynomialHermiteDecomposition.html}, note=[Accessed: 15-November-2025]}