Top Banner
Numerical View of Polynomial Systems Abhishek Bhardwaj Supervisor: Professor Markus Hegland Australian National University June 13, 2018 Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :
30

Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Jul 17, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Numerical View of Polynomial Systems

Abhishek BhardwajSupervisor: Professor Markus Hegland

Australian National University

June 13, 2018

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 2: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Polynomials in Geometry & Algebra

Given a set of polynomials {p1, . . . , pn} ⊆ R[x1, . . . , xk ], consider theproblem of finding x = (x1, . . . , xk) such that,

p1(x) = 0,

...

pn(x) = 0.

There are many descriptions to the solution of this problem.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 3: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Polynomials in Geometry & Algebra

The solutions x form a Variety

V ({p1, . . . , pn}) = {x | p1(x) = · · · = pn(x) = 0}

Example

Taking p1(x1, x2) = x21 + x22 − 2, and p2(x1, x2) = x1 + x2, gives us

V ({p1, p2}) = {(−1, 1), (1,−1)}.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 4: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Polynomials in Geometry & Algebra

The solutions x form a Variety

V ({p1, . . . , pn}) = {x | p1(x) = · · · = pn(x) = 0}

Example

Taking p1(x1, x2) = x21 + x22 − 2, and p2(x1, x2) = x1 + x2, gives us

V ({p1, p2}) = {(−1, 1), (1,−1)}.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 5: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Polynomials in Geometry & Algebra

A more generic description is that of the Ideal I ⊆ R[x], generated by{p1, . . . , pn};

I = 〈p1, . . . , pn〉 =

{n∑1

qipi | q1, . . . , qn ∈ R[x]

}

Question

Is {p1, . . . , pn} the simplest set of generators of I?

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 6: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Polynomials in Geometry & Algebra

A more generic description is that of the Ideal I ⊆ R[x], generated by{p1, . . . , pn};

I = 〈p1, . . . , pn〉 =

{n∑1

qipi | q1, . . . , qn ∈ R[x]

}

Question

Is {p1, . . . , pn} the simplest set of generators of I?

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 7: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Grobner Basis

There are in fact many ”simpler” generators of I .

Grobner Basis

A Grobner basis for an ideal I is a set G , such that for every p ∈ I , thereexist g1, . . . , gk ∈ G and h1, . . . , hk ∈ R[x] such that

p = h1g1 + · · ·+ hkgk .

How does this help?

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 8: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Grobner Basis

There are in fact many ”simpler” generators of I .

Grobner Basis

A Grobner basis for an ideal I is a set G , such that for every p ∈ I , thereexist g1, . . . , gk ∈ G and h1, . . . , hk ∈ R[x] such that

p = h1g1 + · · ·+ hkgk .

How does this help?

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 9: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Buchberger’s Algorithm

Input: A set of polynomials F which generate the ideal I .Output: A Grobner Basis G.

1 Set G := F .

2 For every fi , fj ∈ G , denote by gi the leading term of fi with respect tothe given ordering, and by aij the least common multiple of gi and gj .

3 Choose two polynomials in G and let Sij = (aij/gi )fi − (aij/gj)fj .

4 Reduce (completely) Sij , with the multivariate division algorithm relativeto the set G . If the result is non-zero, add it to G .

5 Repeat steps 1-4 until all possible pairs are considered, including thoseinvolving the new polynomials added in step 4.

6 Output G

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 10: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Buchberger’s Algorithm

Input: A set of polynomials F which generate the ideal I .Output: A Grobner Basis G.

1 Set G := F .

2 For every fi , fj ∈ G , denote by gi the leading term of fi with respect tothe given ordering, and by aij the least common multiple of gi and gj .

3 Choose two polynomials in G and let Sij = (aij/gi )fi − (aij/gj)fj .

4 Reduce (completely) Sij , with the multivariate division algorithm relativeto the set G . If the result is non-zero, add it to G .

5 Repeat steps 1-4 until all possible pairs are considered, including thoseinvolving the new polynomials added in step 4.

6 Output G

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 11: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Buchberger’s Algorithm

Input: A set of polynomials F which generate the ideal I .Output: A Grobner Basis G.

1 Set G := F .

2 For every fi , fj ∈ G , denote by gi the leading term of fi with respect tothe given ordering, and by aij the least common multiple of gi and gj .

3 Choose two polynomials in G and let Sij = (aij/gi )fi − (aij/gj)fj .

4 Reduce (completely) Sij , with the multivariate division algorithm relativeto the set G . If the result is non-zero, add it to G .

5 Repeat steps 1-4 until all possible pairs are considered, including thoseinvolving the new polynomials added in step 4.

6 Output G

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 12: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Buchberger’s Algorithm

Input: A set of polynomials F which generate the ideal I .Output: A Grobner Basis G.

1 Set G := F .

2 For every fi , fj ∈ G , denote by gi the leading term of fi with respect tothe given ordering, and by aij the least common multiple of gi and gj .

3 Choose two polynomials in G and let Sij = (aij/gi )fi − (aij/gj)fj .

4 Reduce (completely) Sij , with the multivariate division algorithm relativeto the set G . If the result is non-zero, add it to G .

5 Repeat steps 1-4 until all possible pairs are considered, including thoseinvolving the new polynomials added in step 4.

6 Output G

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 13: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Buchberger’s Algorithm

Input: A set of polynomials F which generate the ideal I .Output: A Grobner Basis G.

1 Set G := F .

2 For every fi , fj ∈ G , denote by gi the leading term of fi with respect tothe given ordering, and by aij the least common multiple of gi and gj .

3 Choose two polynomials in G and let Sij = (aij/gi )fi − (aij/gj)fj .

4 Reduce (completely) Sij , with the multivariate division algorithm relativeto the set G . If the result is non-zero, add it to G .

5 Repeat steps 1-4 until all possible pairs are considered, including thoseinvolving the new polynomials added in step 4.

6 Output G

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 14: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Buchberger’s Algorithm

Input: A set of polynomials F which generate the ideal I .Output: A Grobner Basis G.

1 Set G := F .

2 For every fi , fj ∈ G , denote by gi the leading term of fi with respect tothe given ordering, and by aij the least common multiple of gi and gj .

3 Choose two polynomials in G and let Sij = (aij/gi )fi − (aij/gj)fj .

4 Reduce (completely) Sij , with the multivariate division algorithm relativeto the set G . If the result is non-zero, add it to G .

5 Repeat steps 1-4 until all possible pairs are considered, including thoseinvolving the new polynomials added in step 4.

6 Output G

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 15: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

The Matricial Representation

Rewrite the polynomials in matrix form

C =

xd1 . . . xdk . . . xd1 . . . xk−1 xdk . . . xk 1

p1 ∗ . . . ∗ . . . ∗ ∗ . . . ∗ ∗...

......

......

......

......

...pn−1 ∗ . . . ∗ . . . ∗ ∗ . . . ∗ ∗pn ∗ . . . ∗ . . . ∗ ∗ . . . ∗ ∗

.

Letxk =

(xd1 . . . xdk . . . x21 . . . xdk . . . 1

),

then p1(x) = 0...

pn(x) = 0

⇔ Cxk = 0

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 16: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

The Matricial Representation

Rewrite the polynomials in matrix form

C =

xd1 . . . xdk . . . xd1 . . . xk−1 xdk . . . xk 1

p1 ∗ . . . ∗ . . . ∗ ∗ . . . ∗ ∗...

......

......

......

......

...pn−1 ∗ . . . ∗ . . . ∗ ∗ . . . ∗ ∗pn ∗ . . . ∗ . . . ∗ ∗ . . . ∗ ∗

.

Letxk =

(xd1 . . . xdk . . . x21 . . . xdk . . . 1

),

then p1(x) = 0...

pn(x) = 0

⇔ Cxk = 0

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 17: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

The Matricial Representation

Buchberger’s algorithm takes the following form. Take two polynomials inthe system;

c12 c1 c2( )pi 0 0 . . . 1 . . . ∗ . . . ∗ ∗pj 0 0 . . . 0 . . . 1 . . . ∗ ∗

Compute the relevant LCM of the leading terms, and modify the rows toobtain

c12 c1 c2( )pi 0 1 . . . ∗ . . . ∗ . . . ∗ ∗pj 0 1 . . . ∗ . . . ∗ . . . ∗ ∗

,

the S-polynomial, Sij is the difference pi − pj .

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 18: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

The Matricial Representation

Buchberger’s algorithm takes the following form. Take two polynomials inthe system;

c12 c1 c2( )pi 0 0 . . . 1 . . . ∗ . . . ∗ ∗pj 0 0 . . . 0 . . . 1 . . . ∗ ∗

Compute the relevant LCM of the leading terms, and modify the rows toobtain

c12 c1 c2( )pi 0 1 . . . ∗ . . . ∗ . . . ∗ ∗pj 0 1 . . . ∗ . . . ∗ . . . ∗ ∗

,

the S-polynomial, Sij is the difference pi − pj .

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 19: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

The Matricial Representation

Update the system to

C =

xd1 . . . xdk . . . xd1 . . . xdk . . . xk 1

p1 ∗ . . . ∗ . . . ∗ . . . ∗ ∗...

......

......

......

......

pn ∗ . . . ∗ . . . ∗ . . . ∗ ∗Si ,j ∗ . . . ∗ . . . ∗ . . . ∗ ∗

.

Repeat until

C =

xd1 . . . xdk . . . xd1 . . . xk−1 xdk . . . xk 1

∗ . . . ∗ . . . ∗ ∗ . . . ∗ ∗...

......

......

......

......

∗ . . . ∗ . . . ∗ ∗ . . . ∗ ∗0 . . . 0 . . . 0 ∗ . . . ∗ ∗

.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 20: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

The Matricial Representation

Update the system to

C =

xd1 . . . xdk . . . xd1 . . . xdk . . . xk 1

p1 ∗ . . . ∗ . . . ∗ . . . ∗ ∗...

......

......

......

......

pn ∗ . . . ∗ . . . ∗ . . . ∗ ∗Si ,j ∗ . . . ∗ . . . ∗ . . . ∗ ∗

.

Repeat until

C =

xd1 . . . xdk . . . xd1 . . . xk−1 xdk . . . xk 1

∗ . . . ∗ . . . ∗ ∗ . . . ∗ ∗...

......

......

......

......

∗ . . . ∗ . . . ∗ ∗ . . . ∗ ∗0 . . . 0 . . . 0 ∗ . . . ∗ ∗

.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 21: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Updating C

Notice that we may write

xk =

xdk 0 . . . 0...

......

...x0k 0 . . . 00 xdk . . . 0...

......

...0 x0k . . . 00 0 . . . xdk...

......

......

......

...0 0 . . . x0k

xk−1

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 22: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Updating C

Which leads to

Cxk = C

xdk 0 . . . 0...

......

...x0k 0 . . . 00 xdk . . . 0...

......

...0 x0k . . . 00 0 . . . xdk...

......

......

......

...0 0 . . . x0k

xk−1

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 23: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Solving for x

Numerically solving for the last variable at each step, we can iterate theprocess to obtain

Cxk = CkCk−1 . . .C2x1.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 24: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Initial Results

Let p = 106 and consider the system of equations

f1 = xp + yp,

f2 = xp.

The Grobner Basis is clearly {xp, yp}.Our software takes 3.58 ms and less than 0.01 MB of memory to solvethis. On the other hand SymPy takes 6.04 s and 168.7 MB.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 25: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Initial Results

Let q = 104 and consider

f1 = x2qzq + xqyqzq + xqyq,

f2 = x2qy2qz2q + x2qxq + xqyq,

f3 = xqyqzq + xz2q + zq

For this kind of high degree system, our software performs much bettertaking only 326 ms and less than 0.01 MB memory, while SymPy takes625 ms and 5.74 MB.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 26: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Gaussian Quadrature

Consider the quadrature equations with constant weightsx1 x2 x3 . . . xk a1...

......

......

...

xk1 xk2 xk3... xkk ak

.

Instead of using the S-polynomial, we can eliminate x1 from the higherorder equations by using the first one.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 27: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Gaussian Quadrature

Consider the quadrature equations with constant weightsx1 x2 x3 . . . xk a1...

......

......

...

xk1 xk2 xk3... xkk ak

.

Instead of using the S-polynomial, we can eliminate x1 from the higherorder equations by using the first one.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 28: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Gaussian Quadrature

Question

Can Buchberger’s algorithm be simplified for problems with specialstructure?

Conjecture

If we use pi (x) to eliminate xi from pj(x) (with i < j), then the leadingterm of pj(x) is divisible by the leading term of pi (x) at every step of theelimination.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 29: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Future Work

1 Parallelizing procedures in the algorithms

2 Ensuring the sparsity of C3 Symmetric systems

i Higher dimensional quadratureii Orthogonal polynomialsiii Simplifying the algorithm

4 Generalizations

i Tensors and tensor calculusii Non-commutative polynomial systemsiii Semi-algebraic systems

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :

Page 30: Numerical View of Polynomial Systems · 3Choose two polynomials in G and let S ij = (a ij=g i)f i (a ij=g j)f j. 4Reduce (completely) S ij, with the multivariate division algorithm

Thank you.

Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :