Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Compute the Smith decomposition of a matrix of univariate polynomials
computes the Smith decomposition of the matrix mat of univariate polynomials.
computes the Smith decomposition for a matrix of polynomials in the variable x.
Compute the Smith decomposition of a 2×3 matrix of low degree polynomials:
Check the matrix equation:
Check that u and v are unimodular; that is, they are constants:
Check that the diagonal entries of s divide into subsequent entries:
Generate and compute the Hermite decomposition for an 8×12 matrix of random degree-5 polynomials with coefficients between -10 and 10:
As is often the case in symbolic computation, speed improves considerably when one works over a prime field of modest size:
Check that the Smith form is a diagonal matrix:
Check that the decomposition satisfies the necessary matrix identity:
Check that the left factor is unimodular:
The determinant of the right factor cannot easily be computed due to expression swell. A probabilistic test that it is unimodular (that is, a constant) is to check that it gives the same value with multiple substitutions of the polynomial variable:
Use the Smith decomposition to compute the minimal polynomial of a matrix:
The result from PolynomialSmithDecomposition is a scalar multiple of the result of the resource function MatrixMinimalPolynomial:
For a square matrix mat, the nontrivial diagonal elements in the Smith normal form for mat-x ℑ are the invariant factors of the characteristic polynomial of mat (here ℑ is the identity matrix of same dimension as mat). We can use this to compute the rational canonical form.
We start with code to create a companion matrix from a polynomial:
Work with an upper triangular matrix having a nontrivial minimal polynomial and hence nontrivial rational canonical form:
Find the diagonal for the Smith normal form of mat-x:
Compute the submatrices for the diagonal block:
This work is licensed under a Creative Commons Attribution 4.0 International License