MatrixPolynomialAlgebra
PopovForm
compute the Popov normal form of a Matrix
Calling Sequence
Parameters
Description
Examples
References
PopovForm(A, x, shifts, out)
PopovForm[row](A, x, shifts, out)
PopovForm[column](A, x, shifts, out)
A
-
Matrix
x
variable name of the polynomial domain
shifts
(optional) equation of the form shifts = obj where obj is a list of one or two lists
out
(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
The PopovForm(A,x) and PopovForm[row](A,x) commands compute the Popov normal form (in row 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 (that is, univariate polynomials in x with coefficients in Q(a1,...,an)).
The PopovForm[column](A,x) command computes the Popov normal form (in column form).
For row Popov normal form, if m = n and P is nonsingular, then P has the following degree constraints
deg⁡Pj,i<deg⁡Pi,i,for all i > j
deg⁡Pj,i≤deg⁡Pi,i,for all i < j
If m<n and P has full row rank, then there is a trailing list of n pivot columns P_pivots such that P[*,P_pivots] is in Popov normal form.
If n≤m and P has row rank r<n, then P has the first n−r rows 0 and there is a trailing list of r columns 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 columns such that U[*,U_pivots] is also in Popov normal form.
The row Popov normal form is obtained by performing elementary row operations on A. This includes interchanging rows, multiplying a row by a unit, and subtracting a polynomial multiple of one row from another. The method used is a fraction-free algorithm by Beckermann, Labahn and Villard. The returned Matrix objects have the property that P=U·A for row Popov normal form.
The output option (out) determines the content of the returned expression sequence.
As determined by the out 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 columns of P and U, respectively -- interesting in the non-full rank case) is returned. If obj is a list, the objects are returned in the order specified in the list.
The shifts option is an optional input that allows the user to shift the degree constraints on both the Popov form and the minimal multiplier (in the non-full row rank case).
The row Popov normal form and the column Popov normal form is related in the following way. If P is the row Popov normal form of A, P^T is the column Popov normal form of A^T.
with⁡MatrixPolynomialAlgebra:
A≔z3−z2,z3−2⁢z2+2⁢z−2|z3−2⁢z2−1,z3−3⁢z2+3⁢z−4
A≔z3−z2z3−2⁢z2−1z3−2⁢z2+2⁢z−2z3−3⁢z2+3⁢z−4
P≔PopovFormrow⁡A,z
P≔z2−z+10121
P,U≔PopovFormrow⁡A,z,output=P,U
P,U≔z2−z+10121,−12⁢z3+32⁢z2−32⁢z+212⁢z3−z2−12z4−z4−14
map⁡expand,P−U·A
0000
LinearAlgebraDeterminant⁡U
−12
P≔PopovFormcolumn⁡A,z
P≔z−11−1+z
P,U≔PopovFormcolumn⁡A,z,output=P,U
P,U≔z−11−1+z,−12⁢z2+32⁢z−1212⁢z2−12⁢z−3212⁢z2−z−z22+1
map⁡expand,P−A·U
Low rank matrix:
A≔3⁢z−6,−3⁢z+3,2⁢z+3,z|−3⁢z,3⁢z,−2,−1|6,−3,−2⁢z−1,−z+1
A≔3⁢z−6−3⁢z6−3⁢z+33⁢z−32⁢z+3−2−2⁢z−1z−11−z
P,U,r≔PopovFormrow⁡A,z,output=P,U,rank
P,U,r≔000000−110−101,3⁢z2+32⁢z+33⁢z2+32⁢z+6z20−92−92−121−32−3⁢z−32−3⁢z−1203300,2
P,U,r,II,K≔PopovFormrow⁡A,z,output=P,U,rank,P_pivots,U_pivots
P,U,r,II,K≔000000−110−101,3⁢z2+32⁢z+33⁢z2+32⁢z+6z20−92−92−121−32−3⁢z−32−3⁢z−1203300,2,2,3,2,4
P,U,r≔PopovFormcolumn⁡A,z,output=P,U,rank
P,U,r≔0−z−60z30−231+2⁢z0−13−1+z,1011131100,2
P,U,r,II,K≔PopovFormcolumn⁡A,z,output=P,U,rank,P_pivots,U_pivots
P,U,r,II,K≔0−z−60z30−231+2⁢z0−13−1+z,1011131100,2,2,4,3
[1,-2,0]-shifted Popov form:
P,U,r,II,K≔PopovFormrow⁡A,z,shifts=1,−2,0,output=P,U,rank,P_pivots,U_pivots
[2,2,0,0]-shifted Popov form:
P,U,r,II,K≔PopovFormcolumn⁡A,z,shifts=2,2,0,0,output=P,U,rank,P_pivots,U_pivots
P,U,r,II,K≔0−z2+z−22⁢z2+z+40z2−z+1−2⁢z2−z−2010001,113−231z3−1−2⁢z3100,2,3,4,3
Popov form with [0,-3]-shift for unimodular multiplier:
A≔−z3+4⁢z2+z+1,−z2+7⁢z+4|z−1,z+2|2⁢z2+2⁢z−2,z2+6⁢z+6|−z2,−2⁢z
A≔−z3+4⁢z2+z+1−1+z2⁢z2+2⁢z−2−z2−z2+7⁢z+4z+2z2+6⁢z+6−2⁢z
P,U,r,II,K≔PopovFormrow⁡A,z,shifts=0,0,0,0,0,−3,output=P,U,rank,P_pivots,U_pivots
P,U,r,II,K≔z3−6⁢z2+13⁢z+7z+514+10⁢zz2−4⁢z−z2+7⁢z+4z+2z2+6⁢z+6−2⁢z,−1201,2,1,3,
00000000
−1
Popov form with [0,-3,0,0]-shift for unimodular multiplier:
P,U,r,II,K≔PopovFormcolumn⁡A,z,shifts=0,0,0,−3,0,0,output=P,U,rank,P_pivots,U_pivots
P,U,r,II,K≔00z−1002z,−2⁢z21+17−z2−2⁢z27+z7−z21−3710002⁢z21−37z2−z−z7+17z21+27221⁢z2−13⁢z−421z3−9⁢z−7−z27+97121⁢z2+13⁢z−2321,2,1,2,2,4
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 (1999): 189-196.
See Also
expand
indets
LinearAlgebra[Determinant]
map
MatrixPolynomialAlgebra[HermiteForm]
Download Help Document