Content uploaded by Anna Maria Bigatti
Author content
All content in this area was uploaded by Anna Maria Bigatti on Jul 12, 2016
Content may be subject to copyright.
A well known problem
Implicit
Ka field, f1, ..., fn∈K[t1,...,ts]
ϕ:K[x1, ..., xn]−→ K[t1,...,ts]given by xi7→ fi
Problem: find a set of generators for Implicit(f1,...,fn):= ker(ϕ)
The solution is simple and elegant :-)
Example 1
f1=t2
1,f2=t1t2,f3=t2
2polynomials in K[t1,t2]
/**/ use QQ[t[1..2], x[1..3]]; f := [t[1]^2, t[1]*t[2], t[2]^2];
/**/ elim([t[1],t[2]], ideal([x[i]-f[i] | i in 1..3]) );
ideal(x[2]^2 -x[1]*x[3])
... but slow and memory hungry :-(
A.M. Bigatti Implicitization Berlin, July 2016 2 / 10
Hypersurface
We concentrate on the hypersurface case:
Implicit(f1,...,fn)=(g)is principal, hence (prime) girreducible.
The hypersurface case typically arises when s=n−1.
Remark
f1, ..., fn∈K[t1,...,ts]:
minimum number of generators for Implicit(f1,...,fn)≥n−s.
In particular if s≤n−1 at least one generator.
Example 2
n=s=2 and f1=f2=t1+t2=⇒Implicit(f1,f2) = hx−yi
Literature is vast, many techniques
(Busé, Chardin, D’Andrea, Dickenstein, Emiris, Orecchia, Wang..)
A.M. Bigatti Implicitization Berlin, July 2016 3 / 10
Implicit ElimTH
Polynomial parametrization: ElimTH algorithm
Proposition
f1,...,fn∈K[t1,...,ts]\K.
Let hbe a new indeterminate, and let K[t1,...,ts,h,x1,...,xn]
deg(t1) = · · · =deg(ts) = deg(h) = 1 and deg(xi) = deg(fi)
Let Fi=fhom
i, and Jbe the ideal hx1−F1,...,xn−Fni. Then:
1The ideal J∩K[h,x1,...,xn]is prime
2Implicit(f1,...,fn)=(J∩K[h,x1,...,xn])deh
Example 3
/**/ P := NewPolyRing(QQ, "t[1],t[2], h, x[1],x[2],x[3]",
MakeTermOrd(RowMat([1, 1, 1, 2, 2, 2])), 1); use P;
/**/ f := [t[1]^2-2, t[1]*t[2]-t[1], t[2]^2];
/**/ F := [t[1]^2-2*h^2, t[1]*t[2]-t[1]*h, t[2]^2];
/**/ E := elim([t[1],t[2]], ideal([x[i]-f[i] | i in 1..3]) );
/**/ Eh := elim([t[1],t[2]], ideal([x[i]-F[i] | i in 1..3]) );
/**/ E = ideal(subst(gens(Eh), h, 1)); // --> true
A.M. Bigatti Implicitization Berlin, July 2016 4 / 10
Implicit ElimTH
Polynomial parametrization: ElimTH algorithm
Input f1,...,fn∈K[t1,...,ts]\Ksuch that Implicit(f1,...,fn)principal
ElimTH-1 Initialization:
ElimTH-1.1 Create the ring R=K[t1,...,ts,h,x1,...,xn]
graded by [1,...,1,1,deg(f1),...,deg(fn)]
with σelimination ordering for {t1,...,ts}
ElimTH-1.2 Let Fi=fhom(h)
i∈R.
ElimTH-1.3 Let J=hx1−F1,...,xn−Fni
ElimTH-2 Main Loop:
Start Buchberger’s algorithm for a σ-Gröbner basis of J.
Work degree by degree i.e. always choose pair with min degree.
When you find Gsuch that LTσ(G)not divisible by any tiexit loop.
ElimTH-3 Let g=Gdeh(h)mapped into K[x1,...,xn].
Output g∈K[x1,...,xn]−→ generator of Implicit(f1,...,fn).
A.M. Bigatti Implicitization Berlin, July 2016 5 / 10
Implicit ElimTH
Polynomial parametrization: ElimTH algorithm
Input f1,...,fn∈K[t1,...,ts]\Ksuch that Implicit(f1,...,fn)principal
ElimTH-1 Initialization:
ElimTH-1.1 Create the ring R=K[t1,...,ts,h,x1,...,xn]
graded by [1,...,1,1,deg(f1),...,deg(fn)]
with σelimination ordering for {t1,...,ts}
ElimTH-1.2 Let Fi=fhom(h)
i∈R.
ElimTH-1.3 Let J=hx1−F1,...,xn−Fni
ElimTH-2 Main Loop:
Start Buchberger’s algorithm for a σ-Gröbner basis of J.
Work degree by degree i.e. always choose pair with min degree.
When you find Gsuch that LTσ(G)not divisible by any tiexit loop.
ElimTH-3 Let g=Gdeh(h)mapped into K[x1,...,xn].
Output g∈K[x1,...,xn]−→ generator of Implicit(f1,...,fn).
A.M. Bigatti Implicitization Berlin, July 2016 5 / 10
Implicit ElimTH
Polynomial parametrization: ElimTH algorithm
Input f1,...,fn∈K[t1,...,ts]\Ksuch that Implicit(f1,...,fn)principal
ElimTH-1 Initialization:
ElimTH-1.1 Create the ring R=K[t1,...,ts,h,x1,...,xn]
graded by [1,...,1,1,deg(f1),...,deg(fn)]
with σelimination ordering for {t1,...,ts}
ElimTH-1.2 Let Fi=fhom(h)
i∈R.
ElimTH-1.3 Let J=hx1−F1,...,xn−Fni
ElimTH-2 Main Loop:
Start Buchberger’s algorithm for a σ-Gröbner basis of J.
Work degree by degree i.e. always choose pair with min degree.
When you find Gsuch that LTσ(G)not divisible by any tiexit loop.
ElimTH-3 Let g=Gdeh(h)mapped into K[x1,...,xn].
Output g∈K[x1,...,xn]−→ generator of Implicit(f1,...,fn).
A.M. Bigatti Implicitization Berlin, July 2016 5 / 10
Implicit Direct
Polynomial parametrization: Direct algorithm
Inspired by Buchberger-Moeller algorithm for computing ideal of points
Direct Method: rough idea
Let {T1,T2,T3, . . .} ⊂ K[x1,...,xn].
For k=1,2,3, . . . do
Check for linear dependency among ϕ(Ti)with i=1..k
If found, return corresponding polynomial.
use enumerative term-ordering on K[x1,...,xn]
every power-product Tappears at a finite position
(or: there are finitely many power-products smaller than any T)
Ex: Lex is not enumerative DegRevLex is enumerative
detect lin.dep. using gaussian elimination
Recall ϕ:K[x1, ..., xn]−→ K[t1,...,ts]given by xi7→ fi
Polynomial ϕ(T)∈K[t1,...,ts]←→ infinite row with finite support
Build “row-reduced echelon form” incrementally
A.M. Bigatti Implicitization Berlin, July 2016 6 / 10
Implicit Direct
Polynomial parametrization: Direct algorithm
Input f1,...,fn∈K[t1,...,ts]\Ksuch that Implicit(f1,...,fn)principal
Direct-1 Initialization:
Direct-1.1 Fix enumerative term-ordering σon K[x1,...,xn]
Direct-1.2 Set QB =∅;PhiQB =∅;L={1}
Direct-2 Main Loop:
Direct-2.1 Let T=minσ(L); remove Tfrom L
Direct-2.2 Compute v=ϕ(T)∈K[t1,...,ts]
Direct-2.3 Is there a linear dependency v=Piaiviwhere
vi∈PhiQB?
If yes then exit & return corresponding poly: T−PiaiTi
If no, update L:= L∪ {x1T,...,xnT};
append Tto QB, and vto PhiQB.
Output T−PiaiTi∈K[x1,...,xn]−→ generator of Implicit(f1,...,fn).
A.M. Bigatti Implicitization Berlin, July 2016 7 / 10
Implicit Direct
Polynomial parametrization: Direct algorithm
Input f1,...,fn∈K[t1,...,ts]\Ksuch that Implicit(f1,...,fn)principal
Direct-1 Initialization:
Direct-1.1 Fix enumerative term-ordering σon K[x1,...,xn]
Direct-1.2 Set QB =∅;PhiQB =∅;L={1}
Direct-2 Main Loop:
Direct-2.1 Let T=minσ(L); remove Tfrom L
Direct-2.2 Compute v=ϕ(T)∈K[t1,...,ts]
Direct-2.3 Is there a linear dependency v=Piaiviwhere
vi∈PhiQB?
If yes then exit & return corresponding poly: T−PiaiTi
If no, update L:= L∪ {x1T,...,xnT};
append Tto QB, and vto PhiQB.
Output T−PiaiTi∈K[x1,...,xn]−→ generator of Implicit(f1,...,fn).
A.M. Bigatti Implicitization Berlin, July 2016 7 / 10
Implicit Direct
Polynomial parametrization: Direct algorithm
Input f1,...,fn∈K[t1,...,ts]\Ksuch that Implicit(f1,...,fn)principal
Direct-1 Initialization:
Direct-1.1 Fix enumerative term-ordering σon K[x1,...,xn]
Direct-1.2 Set QB =∅;PhiQB =∅;L={1}
Direct-2 Main Loop:
Direct-2.1 Let T=minσ(L); remove Tfrom L
Direct-2.2 Compute v=ϕ(T)∈K[t1,...,ts]
Direct-2.3 Is there a linear dependency v=Piaiviwhere
vi∈PhiQB?
If yes then exit & return corresponding poly: T−PiaiTi
If no, update L:= L∪ {x1T,...,xnT};
append Tto QB, and vto PhiQB.
Output T−PiaiTi∈K[x1,...,xn]−→ generator of Implicit(f1,...,fn).
A.M. Bigatti Implicitization Berlin, July 2016 7 / 10
Implicit Direct
Rational parametrization
Either (or any other) algorithm may be used by RatPar to deal with
rational parametrizations:
Input f1=p1
q,...,fn=pn
q∈K(t1,...,ts)with qcommon denominator
RatPar-1 Let d=max{deg(q),deg(p1),...,deg(pn)}
RatPar-2 Create the poly ring R=K[t1,...,ts,h,x0,x1,...,xn]
graded by deg(ti) = deg(h) = 1 and deg(xi) = d
RatPar-3 Let Q=qhomd(h)∈Rand Pi=phomd(h)
i∈R
RatPar-4 Compute hG1,...,Gmi=Implicit(Q,P1,...,Pn)
RatPar-5 Compute gi=Gideh(x0)
Output hg1,...,gmi −→ Implicit(f1,...,fn)
A.M. Bigatti Implicitization Berlin, July 2016 8 / 10
Implicit Direct
The implementation
These algorithms are implemented in CoCoALib (and CoCoA-5).
ElimTH ElimTH Direct Direct
Examples 32003 0 32003 0 Len
Ex d’Andrea 0 0.009 0 0.003 6
Ex Orecchia 0 0.007 0 0.002 9
Ex Enneper 0 0.028 0 0.026 57
Ex Robbiano 0.273 0.597 0.031 0.118 319
Ex Buse1 0 0.021 0 0.070 13
Ex Buse2 0 0.228 0 0.083 56
Ex Wang 1.196 16.278 0.159 7.707 715
Ex Dickenstein1 0 0.060 0 0.032 41
Ex Dickenstein4 0 0.943 0 0.934 161
Ex Bohemian 0 0.011 0 0.004 7
Ex Sine 0 0.012 0 0.010 7
A.M. Bigatti Implicitization Berlin, July 2016 9 / 10
Implicit Direct
New tests
∞=more than 20 minutes
ElimTH ElimTH Direct Direct Len
Examples 32003 0 32003 0
Ex 13-Poly 2.1 (3) 6.9 0.1 (3) 0.4 471
Ex 14-Poly ∞ ∞ 8.41 (5) 58.2 6398
Ex 15-Poly 20.3 (5) 55.7 0.9 (5) 3.4 1705
Ex 16-Poly ∞ ∞ 58.4 (3) 204.1 4304
Ex 17-Poly 1.4 (3) 4.8 9.1 (3) 27.9 1763
Ex 18-Poly 60.8∞228.0 ∞9360
Ex 19-Poly 2.2 (3) 9.3 47.3 (3) 148.9 5801
Ex 20-Poly 5.0 (6) 71.5 ∞ ∞ 6701
Ex 21-Poly 10.2 (11) 121.0 36.4 (11) 418.5 2356
Ex 1-RatFun 0.1 (4) 1.370 0.1 (4) 1.2 62
Ex 2-RatFun 0.6 (2) 2.8 1.1 (2) 3.8 57
Ex 3-RatFun 0.6 (3) 13.4 2.1 (3) 17.9 115
Ex 4-RatFun 10.4 (3) 159.1 64.8 (3) 335,0 189
Ex 5-RatFun 63.3 (2) 141.7 46.2 (2) 101.6 149
Ex 6-RatFun 116.4 (6) 761.4 202.7 (6) 1214.4 2692
A.M. Bigatti Implicitization Berlin, July 2016 10 / 10