A Maple Package for Parametric Matrix Computations Robert M. Corless, Marc Moreno Maza and Steven E. Thornton Department of Applied Mathematics, Western University Ontario Research Centre for Computer Algebra
SONAD 2015 London, Canada
Outline 1. Motivation 2. Regular Chains 3. Background 4. Rank 5. Zigzag Form 6. Frobenius Form 7. Future Work
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
1 / 47
Parametric Matrix Computations in CAS
Computer algebra systems are currently unable to handle case discussion for parametric matrices.
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
2 / 47
Jordan Canonical Form: Maple, Mathematica, Sage Jordan canonical form of: α 0 1 0 α−3 0 0 0 −2
RMC, MMM, SET
with
ParametricMatrixTools
α∈C
SONAD 2015
3 / 47
Jordan Canonical Form: Maple, Mathematica, Sage Jordan canonical form of: α 0 1 0 α−3 0 0 0 −2
with
α∈C
Maple
−2 α
α−3
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
3 / 47
Jordan Canonical Form: Maple, Mathematica, Sage Jordan canonical form of: α 0 1 0 α−3 0 0 0 −2
Maple
−2 α
RMC, MMM, SET
with
α∈C
Mathematica
α−3
−2 −3 + α
α
ParametricMatrixTools
SONAD 2015
3 / 47
Jordan Canonical Form: Maple, Mathematica, Sage Jordan canonical form of: α 0 1 0 α−3 0 0 0 −2
Maple
−2 α
RMC, MMM, SET
with
Mathematica
α−3
−2 −3 + α
α∈C
Sage
α
ParametricMatrixTools
? SONAD 2015
3 / 47
Jordan Canonical Form: Maple, Mathematica, Sage Jordan canonical form of: α 0 1 0 α−3 0 0 0 −2
RMC, MMM, SET
−2
α = −2 −−−−→ 0 0
ParametricMatrixTools
0 −5 0
1
0 −2
SONAD 2015
4 / 47
Jordan Canonical Form: Maple, Mathematica, Sage Jordan canonical form of: α 0 1 0 α−3 0 0 0 −2
Maple
−5 −2
−2
α = −2 −−−−→ 0 0
0 −5 0
1
0 −2
Mathematica 1 −2
RMC, MMM, SET
−5 −2
Sage
1 −2
ParametricMatrixTools
−5 −2
SONAD 2015
1 −2
4 / 47
Regular Chains
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
5 / 47
Notation
I
Let K be an algebraically closed or real closed field
I
Let x1 < · · · < xn be n ≥ 1 ordered variables
I
K[x1 , . . . , xn ] is the ring of polynomials in x1 , . . . , xn
I
For non-constant p ∈ K[x1 , . . . , xn ], mvar(p) denotes the greatest variable in p
I
Leading coefficient of p w.r.t mvar(p) is called the initial denoted init(p)
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
6 / 47
Notation
I
Let K be an algebraically closed or real closed field
I
Let x1 < · · · < xn be n ≥ 1 ordered variables
I
K[x1 , . . . , xn ] is the ring of polynomials in x1 , . . . , xn
I
For non-constant p ∈ K[x1 , . . . , xn ], mvar(p) denotes the greatest variable in p
I
Leading coefficient of p w.r.t mvar(p) is called the initial denoted init(p)
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
6 / 47
Notation
I
Let K be an algebraically closed or real closed field
I
Let x1 < · · · < xn be n ≥ 1 ordered variables
I
K[x1 , . . . , xn ] is the ring of polynomials in x1 , . . . , xn
I
For non-constant p ∈ K[x1 , . . . , xn ], mvar(p) denotes the greatest variable in p
I
Leading coefficient of p w.r.t mvar(p) is called the initial denoted init(p)
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
6 / 47
Notation
I
Let K be an algebraically closed or real closed field
I
Let x1 < · · · < xn be n ≥ 1 ordered variables
I
K[x1 , . . . , xn ] is the ring of polynomials in x1 , . . . , xn
I
For non-constant p ∈ K[x1 , . . . , xn ], mvar(p) denotes the greatest variable in p
I
Leading coefficient of p w.r.t mvar(p) is called the initial denoted init(p)
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
6 / 47
Notation
I
Let K be an algebraically closed or real closed field
I
Let x1 < · · · < xn be n ≥ 1 ordered variables
I
K[x1 , . . . , xn ] is the ring of polynomials in x1 , . . . , xn
I
For non-constant p ∈ K[x1 , . . . , xn ], mvar(p) denotes the greatest variable in p
I
Leading coefficient of p w.r.t mvar(p) is called the initial denoted init(p)
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
6 / 47
Regular Chain Definition (Triangular Set) A set T of non-constant polynomials in K[x1 , . . . , xn ] is called a triangular set if for all p, q ∈ T with p 6= q, mvar(p) 6= mvar(q) . Definition (Saturated Ideal) The saturated ideal sat(T ) of T is the ideal hT i : h∞ T , where hT is the product of the initials of the polynomials in T Definition (Regular Chain) T is a regular chain if T = ∅ or T = T 0 ∪ {t} for t ∈ T with mvar(t) maximum such that I
T 0 is a regular chain
I
init(t) is regular modulo sat(T 0 )
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
7 / 47
Regular Chain Definition (Triangular Set) A set T of non-constant polynomials in K[x1 , . . . , xn ] is called a triangular set if for all p, q ∈ T with p 6= q, mvar(p) 6= mvar(q) . Definition (Saturated Ideal) The saturated ideal sat(T ) of T is the ideal hT i : h∞ T , where hT is the product of the initials of the polynomials in T Definition (Regular Chain) T is a regular chain if T = ∅ or T = T 0 ∪ {t} for t ∈ T with mvar(t) maximum such that I
T 0 is a regular chain
I
init(t) is regular modulo sat(T 0 )
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
7 / 47
Regular Chain Definition (Triangular Set) A set T of non-constant polynomials in K[x1 , . . . , xn ] is called a triangular set if for all p, q ∈ T with p 6= q, mvar(p) 6= mvar(q) . Definition (Saturated Ideal) The saturated ideal sat(T ) of T is the ideal hT i : h∞ T , where hT is the product of the initials of the polynomials in T Definition (Regular Chain) T is a regular chain if T = ∅ or T = T 0 ∪ {t} for t ∈ T with mvar(t) maximum such that I
T 0 is a regular chain
I
init(t) is regular modulo sat(T 0 )
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
7 / 47
Constructible Set
Definition (Constructible Set) A constructible set is the disjunction of systems of polynomial equations and inequations. Where the systems of equations are conjunctions of constraints.
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
8 / 47
Semi-algebraic Set Definition (Semi-algebraic System) A semi-algebraic system of K[x1 , . . . , xn ] is any polynomial system S of the form f1 = · · · = fa = 0 g 6= 0 p > 0, . . . , pb > 0 1 q1 ≥ 0, . . . , qc ≥ 0 for f1 , . . . , fa , g, p1 , . . . , pb , q1 , . . . , qc ∈ K[x1 , . . . , xn ] . Definition (Semi-algebraic Set) A semi-algebraic set S of K[x1 , . . . , xn ] is the solution set of a semi-algebraic system.
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
9 / 47
Semi-algebraic Set Definition (Semi-algebraic System) A semi-algebraic system of K[x1 , . . . , xn ] is any polynomial system S of the form f1 = · · · = fa = 0 g 6= 0 p > 0, . . . , pb > 0 1 q1 ≥ 0, . . . , qc ≥ 0 for f1 , . . . , fa , g, p1 , . . . , pb , q1 , . . . , qc ∈ K[x1 , . . . , xn ] . Definition (Semi-algebraic Set) A semi-algebraic set S of K[x1 , . . . , xn ] is the solution set of a semi-algebraic system.
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
9 / 47
Example Example RealTriangularize applied to sofa and cylinder x2 + y 3 + z 5 = x4 + z 2 − 1 = 0
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
10 / 47
Example Example RealTriangularize applied to sofa and cylinder x2 + y 3 + z 5 = x4 + z 2 − 1 = 0
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
10 / 47
Example
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
11 / 47
Outline 1. Motivation 2. Regular Chains 3. Background 4. Rank 5. Zigzag Form 6. Frobenius Form 7. Future Work
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
12 / 47
Notation
I
Parameters α = α1 , . . . , αs
I
K is an algebraically closed or real closed field
I
K[α] is the ring of polynomials in the parameters
I
K(α) is the quotient field of K[α]
I
S is a constructible (resp. semi-algebraic) set of Ks
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
13 / 47
Notation
I
Parameters α = α1 , . . . , αs
I
K is an algebraically closed or real closed field
I
K[α] is the ring of polynomials in the parameters
I
K(α) is the quotient field of K[α]
I
S is a constructible (resp. semi-algebraic) set of Ks
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
13 / 47
Notation
I
Parameters α = α1 , . . . , αs
I
K is an algebraically closed or real closed field
I
K[α] is the ring of polynomials in the parameters
I
K(α) is the quotient field of K[α]
I
S is a constructible (resp. semi-algebraic) set of Ks
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
13 / 47
Notation
I
Parameters α = α1 , . . . , αs
I
K is an algebraically closed or real closed field
I
K[α] is the ring of polynomials in the parameters
I
K(α) is the quotient field of K[α]
I
S is a constructible (resp. semi-algebraic) set of Ks
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
13 / 47
Notation
I
Parameters α = α1 , . . . , αs
I
K is an algebraically closed or real closed field
I
K[α] is the ring of polynomials in the parameters
I
K(α) is the quotient field of K[α]
I
S is a constructible (resp. semi-algebraic) set of Ks
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
13 / 47
Proposition1,2
For two constructible (resp. semi-algebraic) sets S1 , S2 ⊆ Ks one can compute a triangular decomposition of their I
intersection S1 ∩ S2
I
union S1 ∪ S2
I
set theoretic difference S1 \ S2
1
C. Chen, J. H. Davenport, J. P. May, M. Moreno Maza, B. Xia, and R. Xiao. Triangular decomposition of semi-algebraic systems. J. Symb. Comput., 49:326, 2013. 2 C. Chen, O. Golubitsky, F. Lemaire, M. Moreno Maza, W. Pan. Comprehensive triangular decomposition. In Proc. of CASC07. Volume 4770 of Lecture Notes in Computer Science. (2007) 73101. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
14 / 47
Proposition1,2
For two constructible (resp. semi-algebraic) sets S1 , S2 ⊆ Ks one can compute a triangular decomposition of their I
intersection S1 ∩ S2
I
union S1 ∪ S2
I
set theoretic difference S1 \ S2
1
C. Chen, J. H. Davenport, J. P. May, M. Moreno Maza, B. Xia, and R. Xiao. Triangular decomposition of semi-algebraic systems. J. Symb. Comput., 49:326, 2013. 2 C. Chen, O. Golubitsky, F. Lemaire, M. Moreno Maza, W. Pan. Comprehensive triangular decomposition. In Proc. of CASC07. Volume 4770 of Lecture Notes in Computer Science. (2007) 73101. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
14 / 47
Proposition1,2
For two constructible (resp. semi-algebraic) sets S1 , S2 ⊆ Ks one can compute a triangular decomposition of their I
intersection S1 ∩ S2
I
union S1 ∪ S2
I
set theoretic difference S1 \ S2
1
C. Chen, J. H. Davenport, J. P. May, M. Moreno Maza, B. Xia, and R. Xiao. Triangular decomposition of semi-algebraic systems. J. Symb. Comput., 49:326, 2013. 2 C. Chen, O. Golubitsky, F. Lemaire, M. Moreno Maza, W. Pan. Comprehensive triangular decomposition. In Proc. of CASC07. Volume 4770 of Lecture Notes in Computer Science. (2007) 73101. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
14 / 47
Proposition1,2
For two constructible (resp. semi-algebraic) sets S1 , S2 ⊆ Ks one can compute a triangular decomposition of their I
intersection S1 ∩ S2
I
union S1 ∪ S2
I
set theoretic difference S1 \ S2
1
C. Chen, J. H. Davenport, J. P. May, M. Moreno Maza, B. Xia, and R. Xiao. Triangular decomposition of semi-algebraic systems. J. Symb. Comput., 49:326, 2013. 2 C. Chen, O. Golubitsky, F. Lemaire, M. Moreno Maza, W. Pan. Comprehensive triangular decomposition. In Proc. of CASC07. Volume 4770 of Lecture Notes in Computer Science. (2007) 73101. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
14 / 47
Remark
Let S ⊆ Ks be a constructible (resp. semi-algebraic) set; for every f (α) ∈ K[α] a partition (Seq , Sneq ) of S can be computed by Seq = S ∩ V (f (α)) Sneq = S \ V (f (α)) = S \ Seq .
I
f (α) is zero everywhere on Seq
I
f (α) is nonzero everywhere on Sneq
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
15 / 47
Remark
Let S ⊆ Ks be a constructible (resp. semi-algebraic) set; for every f (α) ∈ K[α] a partition (Seq , Sneq ) of S can be computed by Seq = S ∩ V (f (α)) Sneq = S \ V (f (α)) = S \ Seq .
I
f (α) is zero everywhere on Seq
I
f (α) is nonzero everywhere on Sneq
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
15 / 47
Remark
Let S ⊆ Ks be a constructible (resp. semi-algebraic) set; for every f (α) ∈ K[α] a partition (Seq , Sneq ) of S can be computed by Seq = S ∩ V (f (α)) Sneq = S \ V (f (α)) = S \ Seq .
I
f (α) is zero everywhere on Seq
I
f (α) is nonzero everywhere on Sneq
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
15 / 47
Remark
Let S ⊆ Ks be a constructible (resp. semi-algebraic) set; for every f (α) ∈ K[α] a partition (Seq , Sneq ) of S can be computed by Seq = S ∩ V (f (α)) Sneq = S \ V (f (α)) = S \ Seq .
I
f (α) is zero everywhere on Seq
I
f (α) is nonzero everywhere on Sneq
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
15 / 47
Parametric Matrix Definition A m × n parametric matrix takes the form: f (α) f1,2 (α) · · · f1,n (α) 1,1 f2,1 (α) f2,2 (α) · · · f2,n (α) A(α) = .. .. .. .. . . . . fm,1 (α) fm,2 (α) · · · fm,n (α)
for fi,j ∈ K(α)
1 ≤ i ≤ m, 1 ≤ j ≤ n .
Require constructible (resp. semi-algebraic) set S ⊆ Ks such that denominator of every entry of A(α) is nonzero everywhere on S. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
16 / 47
Parametric Matrix Definition A m × n parametric matrix takes the form: f (α) f1,2 (α) · · · f1,n (α) 1,1 f2,1 (α) f2,2 (α) · · · f2,n (α) A(α) = .. .. .. .. . . . . fm,1 (α) fm,2 (α) · · · fm,n (α)
for fi,j ∈ K(α)
1 ≤ i ≤ m, 1 ≤ j ≤ n .
Require constructible (resp. semi-algebraic) set S ⊆ Ks such that denominator of every entry of A(α) is nonzero everywhere on S. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
16 / 47
Outline 1. Motivation 2. Regular Chains 3. Background 4. Rank 5. Zigzag Form 6. Frobenius Form 7. Future Work
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
17 / 47
Parametric Rank Algorithm (Complex Case)
Input:
I I
Parametric matrix A(α) Constraints on the parameter values given in a set S by a polynomial system of the form f1 (α) = · · · = fa (α) = 0, g(α) 6= 0
Output:
I
I
A list with elements of the form [ri , Si ] where Si gives conditions on α such that the rank of A(α) is ri Si ’s form a partition of S [ Si = S, Si ∩ Sj = ∅ ∀i 6= j i
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
18 / 47
Parametric Rank Algorithm (Complex Case)
Input:
I I
Parametric matrix A(α) Constraints on the parameter values given in a set S by a polynomial system of the form f1 (α) = · · · = fa (α) = 0, g(α) 6= 0
Output:
I
I
A list with elements of the form [ri , Si ] where Si gives conditions on α such that the rank of A(α) is ri Si ’s form a partition of S [ Si = S, Si ∩ Sj = ∅ ∀i 6= j i
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
18 / 47
Parametric Rank Algorithm (Complex Case) Step 1: Define polynomial system S 0 as union of equations of A(α)X = 0 and S Step 2: Let T := Triangularize(S 0 , K[α1 < · · · < αs < x1 < · · · < xn ]) Step 3: For 0 ≤ r ≤ n, let Cr be the constructible set of Ks given by all regular systems [Tj ∩ K[α1 < · · · < αs ], hj ] such that [Tj , hj ] ∈ T and the number of polynomials of Tj of positive degree in (at least) one of the variables x1 < · · · < xn is exactly n − r. Step 4: For r := n down to 1 do Cr := Difference(Cr , Cr−1 ∪ · · · ∪ C0 ) Step 5: Project out the xi variables RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
19 / 47
Parametric Rank Algorithm (Complex Case) Step 1: Define polynomial system S 0 as union of equations of A(α)X = 0 and S Step 2: Let T := Triangularize(S 0 , K[α1 < · · · < αs < x1 < · · · < xn ]) Step 3: For 0 ≤ r ≤ n, let Cr be the constructible set of Ks given by all regular systems [Tj ∩ K[α1 < · · · < αs ], hj ] such that [Tj , hj ] ∈ T and the number of polynomials of Tj of positive degree in (at least) one of the variables x1 < · · · < xn is exactly n − r. Step 4: For r := n down to 1 do Cr := Difference(Cr , Cr−1 ∪ · · · ∪ C0 ) Step 5: Project out the xi variables RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
19 / 47
Parametric Rank Algorithm (Complex Case) Step 1: Define polynomial system S 0 as union of equations of A(α)X = 0 and S Step 2: Let T := Triangularize(S 0 , K[α1 < · · · < αs < x1 < · · · < xn ]) Step 3: For 0 ≤ r ≤ n, let Cr be the constructible set of Ks given by all regular systems [Tj ∩ K[α1 < · · · < αs ], hj ] such that [Tj , hj ] ∈ T and the number of polynomials of Tj of positive degree in (at least) one of the variables x1 < · · · < xn is exactly n − r. Step 4: For r := n down to 1 do Cr := Difference(Cr , Cr−1 ∪ · · · ∪ C0 ) Step 5: Project out the xi variables RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
19 / 47
Parametric Rank Algorithm (Complex Case) Step 1: Define polynomial system S 0 as union of equations of A(α)X = 0 and S Step 2: Let T := Triangularize(S 0 , K[α1 < · · · < αs < x1 < · · · < xn ]) Step 3: For 0 ≤ r ≤ n, let Cr be the constructible set of Ks given by all regular systems [Tj ∩ K[α1 < · · · < αs ], hj ] such that [Tj , hj ] ∈ T and the number of polynomials of Tj of positive degree in (at least) one of the variables x1 < · · · < xn is exactly n − r. Step 4: For r := n down to 1 do Cr := Difference(Cr , Cr−1 ∪ · · · ∪ C0 ) Step 5: Project out the xi variables RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
19 / 47
Parametric Rank Algorithm (Complex Case) Step 1: Define polynomial system S 0 as union of equations of A(α)X = 0 and S Step 2: Let T := Triangularize(S 0 , K[α1 < · · · < αs < x1 < · · · < xn ]) Step 3: For 0 ≤ r ≤ n, let Cr be the constructible set of Ks given by all regular systems [Tj ∩ K[α1 < · · · < αs ], hj ] such that [Tj , hj ] ∈ T and the number of polynomials of Tj of positive degree in (at least) one of the variables x1 < · · · < xn is exactly n − r. Step 4: For r := n down to 1 do Cr := Difference(Cr , Cr−1 ∪ · · · ∪ C0 ) Step 5: Project out the xi variables RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
19 / 47
Example3 over C Example Consider E x ¨ = A1 x˙ + A2 x + Bu 1 1 3 1 3 1 1 3 1 A = E= 3 1 1 1 0 0 0 0 0 0
λ
3λ
λ
0
B= 0 1
A2 = 3λ + µ λ + µ λ + 3µ 0 0 0
λ, µ ∈ C
3
M. I. Garc´ıa-Planas and J. Clotet. Analyzing the set of uncontrollable second order generalized linear systems. International Journal of Applied Mathematics and Informatics, 2007. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
20 / 47
Example3 over C Example (cont.) What is the rank of: −E 0 0 0 B 0 0 0 0 0 −A −E 0 0 0 B 0 0 0 0 1 A −A1 −E 0 0 0 B 0 0 0 2 C= 0 A2 −A1 −E 0 0 0 B 0 0 0 0 A2 −A1 0 0 0 0 B 0 0 0 0 A2 0 0 0 0 0 B
3
M. I. Garc´ıa-Planas and J. Clotet. Analyzing the set of uncontrollable second order generalized linear systems. International Journal of Applied Mathematics and Informatics, 2007. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
21 / 47
Example3 over C
Example (cont.)
Rank(C) =
18 if 17 if
λ 6= 0, µ 6= 1/2
16 if 15 if
λ = 0, µ 6= −1
λ 6= 0, µ = 1/2
λ = 0, µ = −1
3
M. I. Garc´ıa-Planas and J. Clotet. Analyzing the set of uncontrollable second order generalized linear systems. International Journal of Applied Mathematics and Informatics, 2007. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
22 / 47
Zigzag Form of Parametric Matrices
Zigzag Form
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
23 / 47
Parametric Polynomial
Define a polynomial in x with parameters α as f (x; α) = f0 (α) + f1 (α)x + · · · + fr−1 (α)xr−1 + xr
with f0 (α), . . . , fr−1 (α) ∈ K(α). Require constructible (resp. semi-algebraic) set S ⊆ Kk such that denominator of every coefficient is nonzero everywhere on S.
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
24 / 47
Parametric Polynomial
Define a polynomial in x with parameters α as f (x; α) = f0 (α) + f1 (α)x + · · · + fr−1 (α)xr−1 + xr
with f0 (α), . . . , fr−1 (α) ∈ K(α). Require constructible (resp. semi-algebraic) set S ⊆ Kk such that denominator of every coefficient is nonzero everywhere on S.
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
24 / 47
Companion Matrix Frobenius companion matrix in x of a parametric polynomial f (x; α) = f0 (α) + f1 (α)x + · · · + fr−1 (α)xr−1 + xr takes the form
Cf (x;α)
RMC, MMM, SET
0 · · · 0 −f0 (α) . .. . 1 . . .. . = . . . 0 −f (α) r−2 1 −fr−1 (α)
ParametricMatrixTools
SONAD 2015
25 / 47
Off-diagonal Block
Let b ∈ {0, 1}. Define Bb =
RMC, MMM, SET
b 0 ··· 0
0 0 ··· 0 .. .. . . .. . . . . 0 0 ··· 0
ParametricMatrixTools
SONAD 2015
26 / 47
Zigzag Matrix4
Cc1 (x;α)
Bb1 CcT2 (x;α) Bb2
Cc3 (x;α)
Bb3 CcT4 (x;α) ..
. CcTd−2 (x;α) Bbd−2
Ccd−1 (x;α)
Bbd−1 CcTd (x;α)
for d even 4 A. Storjohann. An O(n3 ) algorithm for the Frobenius normal form. In Proceedings of ISSAC 1998, pages 101-105. ACM, 1998. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
27 / 47
Theorem
Theorem For every matrix A(α) ∈ Kn×n [α], there exists a partition (S1 , . . . , SN ) of the input constructible (resp. semi-algebraic) set S such that for each Si , there exists a matrix Zi (α) ∼ A(α) in Zigzag form where the denominator of the entries of Zi (α) are all nonzero everywhere on Si .
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
28 / 47
Algorithm
I
The algorithm extends the work of Storjohann4 on the computation of the Zigzag form.
I
The algorithm only uses similarity transformations to obtain the Zigzag form.
I
Stages 1 and 3 of Storjohann’s algorithm4 are modified such that computation splits when searching for pivots.
4 A. Storjohann. An O(n3 ) algorithm for the Frobenius normal form. In Proceedings of ISSAC 1998, pages 101-105. ACM, 1998. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
29 / 47
Algorithm
I
The algorithm extends the work of Storjohann4 on the computation of the Zigzag form.
I
The algorithm only uses similarity transformations to obtain the Zigzag form.
I
Stages 1 and 3 of Storjohann’s algorithm4 are modified such that computation splits when searching for pivots.
4 A. Storjohann. An O(n3 ) algorithm for the Frobenius normal form. In Proceedings of ISSAC 1998, pages 101-105. ACM, 1998. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
29 / 47
Algorithm
I
The algorithm extends the work of Storjohann4 on the computation of the Zigzag form.
I
The algorithm only uses similarity transformations to obtain the Zigzag form.
I
Stages 1 and 3 of Storjohann’s algorithm4 are modified such that computation splits when searching for pivots.
4 A. Storjohann. An O(n3 ) algorithm for the Frobenius normal form. In Proceedings of ISSAC 1998, pages 101-105. ACM, 1998. RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
29 / 47
Semi-Algebraic Example over R Example
0 0 2
A(a, b) = a 0 3 0 6 b
RMC, MMM, SET
with
ParametricMatrixTools
a ≥ 0, b > 0, a 6= b
SONAD 2015
30 / 47
Semi-Algebraic Example over R Example
0 0 2
A(a, b) = a 0 3 0 6 b
0 0 12 a
with
a ≥ 0, b > 0, a 6= b
Z1 (a, b) = 1 0
18 if a > 0, b > 0, a 6= b 0 1 b 0 1 0 Z2 (a, b) = 0 1 if a = 0, b > 0 18 b
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
30 / 47
Outline 1. Motivation 2. Regular Chains 3. Background 4. Rank 5. Zigzag Form 6. Frobenius Form 7. Future Work
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
31 / 47
What is a Frobenius Matrix
A matrix in Frobenius Normal Form has the following structure: Cf1
F =
Cf2 ..
. Cfn
where fn | fn−1 | · · · | f1 .
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
32 / 47
What is a Frobenius Matrix
A matrix in Frobenius Normal Form has the following structure: Cf1
F =
Cf2 ..
. Cfn
where fn | fn−1 | · · · | f1 . f1 is the minimal polynomial of F .
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
32 / 47
Theorem
Theorem For every matrix A(α) ∈ Kn×n [α], there exists a partition (S1 , . . . , SN ) of the input constructible (resp. semi-algebraic) set S such that for each Si , there exists a matrix Zi (α) Fi (α) ∼ A(α) in Zigzag Frobenius form where the denominator of the entries of Zi (α) Fi (α) are all nonzero everywhere on Si .
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
33 / 47
Gcd Algorithm (Complex)
Input:
I I
Two polynomials p(x; α), q(x; α) with parameters α Constraints on the parameter values given in a set S by a polynomial system of the form f1 (α) = · · · = fa (α) = 0, g(α) 6= 0
Output:
I
I
A list with elements of the form [gi , Si ] where Si gives conditions on α such that the gcd of p and q is gi Si ’s form a partition of S [ Si = S, Si ∩ Sj = ∅ ∀i 6= j i
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
34 / 47
Gcd Algorithm (Complex)
Input:
I I
Two polynomials p(x; α), q(x; α) with parameters α Constraints on the parameter values given in a set S by a polynomial system of the form f1 (α) = · · · = fa (α) = 0, g(α) 6= 0
Output:
I
I
A list with elements of the form [gi , Si ] where Si gives conditions on α such that the gcd of p and q is gi Si ’s form a partition of S [ Si = S, Si ∩ Sj = ∅ ∀i 6= j i
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
34 / 47
Gcd Algorithm (Complex)
Input:
I I I
p, q CS R
Algorithm: src := SubresultantChain(p, q, x) r := resultant(p, q, x) DS := CS ∩ V(r) for each rs ∈ DS - es := z(rs) ∩ V(init(p)) ∩ V(init(q)) - Recursive call with tail(p), tail(q), es - es := rs\es - Proceed bottom up in src and get first subresultant who’s initial does not vanish on es, it is the gcd
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
35 / 47
Gcd Example Example Consider polynomials p and q in x p(x; α) = (x − 1) (x + α) q(x; α) = α x2 + 2 α is a complex valued parameter.
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
36 / 47
Gcd Example Example Consider polynomials p and q in x p(x; α) = (x − 1) (x + α) q(x; α) = α x2 + 2 α is a complex valued parameter. 2 2 −α + α x + α + 2 gcd(p, q) = x − 1 1
RMC, MMM, SET
ParametricMatrixTools
if α3 + 2 = 0 if α + 2 = 0 otherwise
SONAD 2015
36 / 47
Smith Form
A matrix in Smith normal form has the following structure: 1
..
. 1 f1 ..
. fn
where f1 | f2 | · · · | fn .
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
37 / 47
Smith and Frobenius Form
Theorem For every square matrix A ⇒ Smith form of xI − A is diag(1, . . . , 1, f1 , . . . , fn )
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
38 / 47
Smith and Frobenius Form
Theorem For every square matrix A ⇒ Smith form of xI − A is diag(1, . . . , 1, f1 , . . . , fn ) ⇒ Frobenius form of A is given by diag(Cfn , . . . , Cf1 )
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
38 / 47
Computing the Smith Form
I
Algorithm relies on gcd computations
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
39 / 47
Computing the Smith Form
I
Algorithm relies on gcd computations
I
Computing xI − A gives polynomials for Frobenius form
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
39 / 47
Computing the Smith Form
I
Algorithm relies on gcd computations
I
Computing xI − A gives polynomials for Frobenius form
I
Faster to compute xI − Z for Z in zigzag form
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
39 / 47
Example Example
−1
A(α) = −1/2 −2
RMC, MMM, SET
−α − 1
0
1/2 3 α + 1 −1 α−2
ParametricMatrixTools
with
α∈C
SONAD 2015
40 / 47
Example Example
−1
−α − 1
1/2 3 α + 1 −1
A(α) = −1/2
α−2
−2
0
0 0
4α
with
α∈C
if α + 3 6= 0 Z1 (α) = 1 0 4(α − 1) 0 1 α−4 0 −4 1 Z2 (α) = 1 −4 0 if α + 3 = 0 −3 RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
40 / 47
Example Example
0 0
4α
Z1 (α) = 1 0 4(α − 1) 0 1 α−4
RMC, MMM, SET
ParametricMatrixTools
if α + 3 6= 0
SONAD 2015
41 / 47
Example Example
0 0
4α
Z1 (α) = 1 0 4(α − 1) 0 1 α−4
if α + 3 6= 0
Smith Form of xI − Z1 (α) 1 0 0 S1 (α) = 0 1 0 0 0 x3 − (α − 4) x2 − (4 α − 4) x − 4 α
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
41 / 47
Example Example
0 0
4α
Z1 (α) = 1 0 4(α − 1) 0 1 α−4
if α + 3 6= 0
Smith Form of xI − Z1 (α) 1 0 0 S1 (α) = 0 1 0 0 0 x3 − (α − 4) x2 − (4 α − 4) x − 4 α Frobenius Form
0 0
4α
F1 (α) = 1 0 4 (α − 1) 0 1 α−4 RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
41 / 47
Example Example
0 −4 Z2 (α) = 1 −4
RMC, MMM, SET
1 0 −3
ParametricMatrixTools
if α + 3 = 0
SONAD 2015
42 / 47
Example Example
0 −4 Z2 (α) = 1 −4
1 0 −3
if α + 3 = 0
Smith Form of xI − Z2 (α) 1 0 0 S2 (α) = 0 0 1 0 0 x3 − (α − 4) x2 − (4 α − 4) x − 3 α + 3
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
42 / 47
Example Example
0 −4 Z2 (α) = 1 −4
1 0 −3
if α + 3 = 0
Smith Form of xI − Z2 (α) 1 0 0 S2 (α) = 0 0 1 0 0 x3 − (α − 4) x2 − (4 α − 4) x − 3 α + 3 Frobenius Form
0 0
3α − 3
F2 (α) = 1 0 4 (α − 1) 0 1 α−4 RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
42 / 47
Example Example
−1
A(α) = −1/2 −2
0 0
−α − 1
0
1/2 3 α + 1 −1 α−2
4α
with
α∈C
if α + 3 6= 0 F1 (α) = 1 0 4 (α − 1) 0 1 α−4 0 0 3α − 3 F2 (α) = 1 0 4 (α − 1) if α + 3 = 0 0 1 α−4
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
43 / 47
Outline 1. Motivation 2. Regular Chains 3. Background 4. Rank 5. Zigzag Form 6. Frobenius Form 7. Future Work
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
44 / 47
Future Work Research is currently being conducted to create a Maple package ParametricMatrixTools with methods to compute I
Rank X
I
Frobenius (Rational) X
I
Minimal polynomial X
I
Test for similarity X
I
Jordan form
I
Weyr form5
5
K. O’Meara, J.Clark, and C. Vinsonhaler. Advanced Topics in Linear Algebra: Weaving Matrix Problems Through the Weyr Form. Oxford University Press, 2011 RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
45 / 47
Future Work Research is currently being conducted to create a Maple package ParametricMatrixTools with methods to compute I
Rank X
I
Frobenius (Rational) X
I
Minimal polynomial X
I
Test for similarity X
I
Jordan form
I
Weyr form5
5
K. O’Meara, J.Clark, and C. Vinsonhaler. Advanced Topics in Linear Algebra: Weaving Matrix Problems Through the Weyr Form. Oxford University Press, 2011 RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
45 / 47
Future Work Research is currently being conducted to create a Maple package ParametricMatrixTools with methods to compute I
Rank X
I
Frobenius (Rational) X
I
Minimal polynomial X
I
Test for similarity X
I
Jordan form
I
Weyr form5
5
K. O’Meara, J.Clark, and C. Vinsonhaler. Advanced Topics in Linear Algebra: Weaving Matrix Problems Through the Weyr Form. Oxford University Press, 2011 RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
45 / 47
Future Work Research is currently being conducted to create a Maple package ParametricMatrixTools with methods to compute I
Rank X
I
Frobenius (Rational) X
I
Minimal polynomial X
I
Test for similarity X
I
Jordan form
I
Weyr form5
5
K. O’Meara, J.Clark, and C. Vinsonhaler. Advanced Topics in Linear Algebra: Weaving Matrix Problems Through the Weyr Form. Oxford University Press, 2011 RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
45 / 47
Future Work Research is currently being conducted to create a Maple package ParametricMatrixTools with methods to compute I
Rank X
I
Frobenius (Rational) X
I
Minimal polynomial X
I
Test for similarity X
I
Jordan form
I
Weyr form5
5
K. O’Meara, J.Clark, and C. Vinsonhaler. Advanced Topics in Linear Algebra: Weaving Matrix Problems Through the Weyr Form. Oxford University Press, 2011 RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
45 / 47
Future Work Research is currently being conducted to create a Maple package ParametricMatrixTools with methods to compute I
Rank X
I
Frobenius (Rational) X
I
Minimal polynomial X
I
Test for similarity X
I
Jordan form
I
Weyr form5
5
K. O’Meara, J.Clark, and C. Vinsonhaler. Advanced Topics in Linear Algebra: Weaving Matrix Problems Through the Weyr Form. Oxford University Press, 2011 RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
45 / 47
Future Work Research is currently being conducted to create a Maple package ParametricMatrixTools with methods to compute I
Rank X
I
Frobenius (Rational) X
I
Minimal polynomial X
I
Test for similarity X
I
Jordan form
I
Weyr form5
5
K. O’Meara, J.Clark, and C. Vinsonhaler. Advanced Topics in Linear Algebra: Weaving Matrix Problems Through the Weyr Form. Oxford University Press, 2011 RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
45 / 47
Future Work
I
Speed improvements I I
Minimize unnecessary splitting Parallel implementation
I
Cost analysis
I
Matrix factorizations
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
46 / 47
Future Work
I
Speed improvements I I
Minimize unnecessary splitting Parallel implementation
I
Cost analysis
I
Matrix factorizations
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
46 / 47
Future Work
I
Speed improvements I I
Minimize unnecessary splitting Parallel implementation
I
Cost analysis
I
Matrix factorizations
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
46 / 47
Future Work
I
Speed improvements I I
Minimize unnecessary splitting Parallel implementation
I
Cost analysis
I
Matrix factorizations
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
46 / 47
Future Work
I
Speed improvements I I
Minimize unnecessary splitting Parallel implementation
I
Cost analysis
I
Matrix factorizations
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
46 / 47
Code & Examples
All current and future code and example worksheets will be available at StevenThornton.ca/Code Information on the RegularChains package of Maple is available at RegularChains.org
RMC, MMM, SET
ParametricMatrixTools
SONAD 2015
47 / 47
Thank You!