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