Polynomial Ideals Euclidean algorithm Multiplicity of roots Ideals in F[x].
Solving polynomial systems over the reals exactly: why and ... · Polynomial systems and real...
Transcript of Solving polynomial systems over the reals exactly: why and ... · Polynomial systems and real...
Solving polynomial systems over thereals exactly: why and how?
Mohab Safey El DinUPMC/INRIA/CNRS
2015
Polynomial systems and real geometry
Real solution set S ⊂ Rn to
F1 = · · · = Fp = 0, G1 > 0 . . . ,Gs > 0
with Fi and Gj in Q[X1, . . . ,Xn]
Algorithmic specifications.I Decide the non-emptiness of S and compute sample points in S;I Answer connectivity queries on S;I “Compute” the projection of S on some given linear space
∃X ∈ R X 2 + bX + c = 0⇐⇒ b2 − 4c ≥ 0
Symbolic/Exact computation
I General software (among many others)
among many others...
I Symbolic computation / computer algebra.I Efficient tools for basic algebraic/exact computationsI Large algorithmic scope (arithmetics → differential algebra)I BUT algebraic manipulations on polynomial expressions give information on
complex roots
I Reliability issues – crucial for decision problems/algebraic nature
I Efficiency issues – complexity may be exponential in n
Goal of this talkShow how to use specialized software tools to solve “hard” problems
Symbolic/Exact computation
I General software (among many others)
among many others...
I Symbolic computation / computer algebra.I Efficient tools for basic algebraic/exact computationsI Large algorithmic scope (arithmetics → differential algebra)I BUT algebraic manipulations on polynomial expressions give information on
complex roots
I Reliability issues – crucial for decision problems/algebraic nature
I Efficiency issues – complexity may be exponential in n
Goal of this talkShow how to use specialized software tools to solve “hard” problems
Symbolic/Exact computation
I General software (among many others)
among many others...
I Symbolic computation / computer algebra.I Efficient tools for basic algebraic/exact computationsI Large algorithmic scope (arithmetics → differential algebra)I BUT algebraic manipulations on polynomial expressions give information on
complex roots
I Reliability issues – crucial for decision problems/algebraic nature
I Efficiency issues – complexity may be exponential in n
Goal of this talkShow how to use specialized software tools to solve “hard” problems
Symbolic/Exact computation
I General software (among many others)
among many others...
I Symbolic computation / computer algebra.I Efficient tools for basic algebraic/exact computationsI Large algorithmic scope (arithmetics → differential algebra)I BUT algebraic manipulations on polynomial expressions give information on
complex roots
I Reliability issues – crucial for decision problems/algebraic nature
I Efficiency issues – complexity may be exponential in n
Goal of this talkShow how to use specialized software tools to solve “hard” problems
Real root classification problemThe dream team
Two View Geometry
C C /
π
x x
X
epipolar plane
/
X,x,y, C, C 0 all coplanar)
rank(F ) = 2 s.t.
epipolar equation
, 9 a 3 ⇥ 3 matrix F
F fundamental matrix 7 degrees of freedom
if cameras are calibrated get essential matrix5 degrees of freedom
F1(X,Y) = · · · = Fp(X,Y) = 0
with X = (X1, . . . ,Xn) and Y = (Y1, . . . ,Yt)
I Generic finite number of complex rootsw.r.t Y
I To have more fun, we also may consider
G1(X,Y) > 0, . . . ,Gs(X,Y) > 0
How to solve real root classification problems?
1. Compute a set containing the boundary
Projection Elimination
Grobner bases
2. Compute sample points outside the boundary
Polynomial Optimization
3. Lift and count the number of solutions
Grobner bases
Many other tools are available: geometric resolution, triangular sets, resultants, etc.
How to solve real root classification problems?
1. Compute a set containing the boundary
Projection Elimination
Grobner bases
2. Compute sample points outside the boundary
Polynomial Optimization
3. Lift and count the number of solutions
Grobner bases
Many other tools are available: geometric resolution, triangular sets, resultants, etc.
How to solve real root classification problems?
1. Compute a set containing the boundary
Projection Elimination
Grobner bases
2. Compute sample points outside the boundary
Polynomial Optimization
3. Lift and count the number of solutions
Grobner bases
Many other tools are available: geometric resolution, triangular sets, resultants, etc.
First projection step
I Need to characterize tangent spaces
I They are kernels of
jac(F)
under regularity assumptions
I Elimination of the X-variables in thesystem
F,MaxMinors(jac(F,X)).
I Inequalities handled by consideringSols(F) ∩ Sols(Gi)
The big polynomialI degree 12, 14 variables.I 4251 monomials.
BUTI degree 4 in each variableI other very special property
That’s a bingo !!Tarantino, TIB
The big polynomialI degree 12, 14 variables.I 4251 monomials.
BUTI degree 4 in each variableI other very special property
That’s a bingo !!Tarantino, TIB
The big polynomialI degree 12, 14 variables.I 4251 monomials.
BUTI degree 4 in each variableI other very special property
That’s a bingo !!Tarantino, TIB
Second step: sampling
PolynomialOptimization
Second step: sampling
F = 0,G > 0
Intuitive ideas underlying the algorithm
Su�cient to find polynomials “capturing” the boundary B of the solution set.
Fact: for all y 2 B, there exists x 2 Rn s.t. G(x) = f(x,y) = 0.
lim"!0
crit(⇡, V (G, f � "))
V (hG,�1i : hG,�i1 + hfi)
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
Second step: sampling
F = 0,G = ε
The big polynomialI Many critical point loci are actually
empty (!)I All computations done within 12 hours.
I 504 points; number of chambers ≤ 504
That’s a SUPER bingo !!
2-nd and 3-rd steps: zero-dimensional systemsSystem of equations
Grobner basis
q(T ) = 0, X1 = q1(T ), . . . ,Xn = qn(T )
State-of-the-art algorithms and implementation
FGB (Faugere) ; ' 10 000 complex solutions.
2-nd and 3-rd steps: zero-dimensional systems
I Variety of computational tools allow to solve large problems exactly(sometimes)
I Particularly useful for decision problems or computing topological informations
I “Fast” computational tools: FGB (Faugere)→ Grobner basesRAGlib: library for real algebraic geometry (built on top of FGB).
I Special algorithms for special structured problems (e.g. LMI’s)
2-nd and 3-rd steps: zero-dimensional systems
I Variety of computational tools allow to solve large problems exactly(sometimes)
I Particularly useful for decision problems or computing topological informations
I “Fast” computational tools: FGB (Faugere)→ Grobner basesRAGlib: library for real algebraic geometry (built on top of FGB).
I Special algorithms for special structured problems (e.g. LMI’s)