compute the Popov normal form of a Matrix
Definition of Column Popov Form
PopovForm(A, x, shifts, out, options, outopts)
Matrix of univariate polynomials in x
variable name of the polynomial domain
(optional) equation of the form shifts = obj where obj is a list of one or two lists
(optional) equation of the form output = obj where obj is one of 'P', 'U', 'rank', 'P_pivots', 'U_pivots', or a list containing one or more of these names; select result objects to compute
(optional); constructor options for the result object(s)
(optional) equation(s) of the form outputoptions[o] = list where o is one of 'P' or 'U'; constructor options for the specified result object
The PopovForm(A, x) function computes the column Popov normal form P (also called the polynomial echelon form) of an m x n rectangular Matrix of univariate polynomials in x over the field of rational numbers Q, or rational expressions over Q. You can request the form P, the unimodular multiplier U which gives P, the rank and various pivots in P and U via a specification of the output option.
There are a number of variations of column Popov forms, typically unique up to permutation of the columns. The definitions used for both the full and non-full column rank case are as follows.
If m=n and P is nonsingular, P has the following degree constraints.
deg⁡Pj,i<deg⁡Pi,i,for all j > i
deg⁡Pj,i≤deg⁡Pi,i,for all j < i
If n<m and P has full column rank, there is a trailing list of n pivot rows P_pivots such that P[P_pivots,*] is in Popov normal form.
If n≤m and P has column rank r<n, P has the first n−r columns 0 and there is a trailing list of r rows P_pivots such that P[P_pivots,*] is in Popov normal form. In this case, U is a minimal unimodular multiplier and as such there is a list U_pivots of rows such that U[U_pivots,*] is also in Popov normal form.
The Popov normal form P is obtained by doing elementary column operations on A. This includes interchanging columns, multiplying through a column by a unit, and subtracting a polynomial multiple of one column from another. The method used is a fraction-free algorithm by Beckermann, Labahn, and Villard. The returned Matrix objects have the property that P=A·U.
The output option (out) determines the content of the returned expression sequence.
Depending on what is included in the output option, an expression sequence containing one or more of the factors P (the Popov normal form), U (the unimodular transformation Matrix), rank (the rank of the matrix), P_pivots, or U_pivots (the pivot rows of P and U, respectively) can be returned.
If output is a list, the objects are returned in the same order as specified in the list.
The shifts option is an optional input which allows the user to shift the degree constraints on both the Popov form and the minimal multiplier (in the non-full column rank case).
The constructor options provide additional information (readonly, shape, storage, order, datatype, and attributes) to the Matrix constructor that builds the result(s). These options may also be provided in the form outputoptions[o]=[...], where [...] represents a Maple list. If a constructor option is provided in both the calling sequence directly and in an outputoptions[o] option, the latter takes precedence (regardless of the order).
A low rank matrix.
A [2,2,0,0]-shifted Popov form.
A Popov form with [0,-3,0,0]-shift for unimodular multiplier.
Beckermann, B., and Labahn, G. "Fraction-free Computation of Matrix Rational Interpolants and Matrix GCDs." SIAM Journal on Matrix Analysis and Applications, Vol. 22 No. 1. (2000): 114-144.
Beckermann, B.; Labahn, G.; and Villard, G. "Shifted Normal Forms of General Polynomial Matrices." University of Waterloo, Technical Report. Department of Computer Science, 2001.
Beckermann, B.; Labahn, G.; and Villard, G. "Shifted Normal Forms of Polynomial Matrices." ISSAC'99, pp. 189-196. 1999.
Download Help Document
What kind of issue would you like to report? (Optional)