Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • Compute Services
  • System Modeler
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

Wolfram Consulting

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Notebook Assistant + LLM Kit
    • Compute Services
    • System Modeler
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Application Server
    • Enterprise Private Cloud
    • Wolfram Engine
    • Wolfram Player
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
PolynomialHermiteDecomposition
  • See Also
    • PolynomialHermiteReduce
    • HermiteDecomposition
    • PolynomialSmithDecomposition
    • PolynomialExtendedGCD
  • Related Guides
    • Matrix Decompositions
    • See Also
      • PolynomialHermiteReduce
      • HermiteDecomposition
      • PolynomialSmithDecomposition
      • PolynomialExtendedGCD
    • Related Guides
      • Matrix Decompositions

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
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Options  
Modulus  
Method  
Applications  
Polynomial Equations  
Greatest Common Left Divisor (GCLD)  
Properties & Relations  
See Also
Related Guides
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • PolynomialHermiteReduce
    • HermiteDecomposition
    • PolynomialSmithDecomposition
    • PolynomialExtendedGCD
  • Related Guides
    • Matrix Decompositions
    • See Also
      • PolynomialHermiteReduce
      • HermiteDecomposition
      • PolynomialSmithDecomposition
      • PolynomialExtendedGCD
    • Related Guides
      • Matrix Decompositions

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. TemplateBox[{{U, (, x, )}}, Det] is constant, so the inverse U^~(x)=TemplateBox[{{U, (, x, )}}, 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 Automaticmethod to use
    Modulus 0modulus to assume for integers

Examples

open all close all

Basic Examples  (2)

Compute the Hermite decomposition of a 2x2 matrix:

Check the matrix equation:

Check that u is unimodular:

Compute the Hermite decomposition of a 2x3 matrix of low-degree polynomials:

Check the matrix equation:

Check that u is unimodular:

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 the matrix equation:

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:

Method  (2)

In addition to the default MethodAutomatic, one can specify Method"Direct" to use dedicated univariate polynomial algebra code:

Check the result:

Instead set Method  "GroebnerBasis" (this uses a computation of a module Gröbner basis):

Check the result:

This gives the same result as:

Use different methods with a prime modulus:

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:

Solve this system:

Check the solution:

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:

Check these:

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:

Check that is unimodular and transforms gcd to 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:

See Also

PolynomialHermiteReduce  HermiteDecomposition  PolynomialSmithDecomposition  PolynomialExtendedGCD

Related Guides

    ▪
  • Matrix Decompositions

History

Introduced in 2025 (14.3)

Wolfram Research (2025), PolynomialHermiteDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/PolynomialHermiteDecomposition.html.

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: 01-March-2026]}

BibLaTeX

@online{reference.wolfram_2025_polynomialhermitedecomposition, organization={Wolfram Research}, title={PolynomialHermiteDecomposition}, year={2025}, url={https://reference.wolfram.com/language/ref/PolynomialHermiteDecomposition.html}, note=[Accessed: 01-March-2026]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • Compute Services
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Engine
  • Wolfram Player

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2026 Wolfram
© 2026 Wolfram | Legal & Privacy Policy |
English