Numerical View of Polynomial Systems
Abhishek BhardwajSupervisor: Professor Markus Hegland
Australian National University
June 13, 2018
Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
Thank you.
Abhishek Bhardwaj (ANU) Numerical Algebra June 13, 2018 :