Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Compute the Popov decomposition of a matrix of univariate polynomials
ResourceFunction["PopovDecomposition"][mat] computes the Popov decomposition of the matrix mat consisting of univariate polynomials. | |
ResourceFunction["PopovDecomposition"][mat,x] gives the Popov decomposition of the matrix mat regarded as univariate polynomials in the variable x. |
Compute the Popov decomposition for a 3×3 matrix of quartic polynomials:
| In[1]:= | ![]() |
| Out[1]= | ![]() |
Check that the determinant is a constant:
| In[2]:= |
| Out[2]= |
Check that the necessary matrix identity is satisfied:
| In[3]:= |
| Out[3]= |
Check that the maximal degrees in each row move successively to the right:
| In[4]:= |
| Out[4]= |
Create a tool to generate a 3×3 matrix of quartic polynomials:
| In[5]:= |
If the input matrix does not have full row rank, there will be zero rows at the bottom of the Popov form (as many as the row rank deficiency):
| In[6]:= | ![]() |
| Out[3]= | ![]() |
Generate a 3×3 matrix of quartic polynomials:
| In[7]:= | ![]() |
Compute the Popov decomposition over the integers modulo a prime:
| In[8]:= |
| Out[8]= | ![]() |
Check the necessary matrix identity:
| In[9]:= |
| Out[9]= |
This work is licensed under a Creative Commons Attribution 4.0 International License