A MAPlE Package for Parametric Matrix Computations

Report 0 Downloads 31 Views
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 

λ



λ



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



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





   Z1 (α) =   1 0 4(α − 1)  0 1 α−4

RMC, MMM, SET

ParametricMatrixTools

if α + 3 6= 0

SONAD 2015

41 / 47

Example Example 

0 0





   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





   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



   



   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



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!