PresentationPDF Available

New, Practical Algorithms for Implicitization of Hypersurfaces

Authors:

Abstract

Presentation of paper ”Implicitization of Hypersurfaces”
New, Practical Algorithms
for Implicitization of Hypersurfaces
John Abbott, Anna M. Bigatti, Lorenzo Robbiano
Kassel, Germany Genova, Italy
ICMS 2016 July 2016, Berlin
A.M. Bigatti Implicitization Berlin, July 2016 1 / 10
A well known problem
Implicit
Ka field, f1, ..., fnK[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=n1.
Remark
f1, ..., fnK[t1,...,ts]:
minimum number of generators for Implicit(f1,...,fn)ns.
In particular if sn1 at least one generator.
Example 2
n=s=2 and f1=f2=t1+t2=Implicit(f1,f2) = hxyi
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,...,fnK[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 hx1F1,...,xnFni. Then:
1The ideal JK[h,x1,...,xn]is prime
2Implicit(f1,...,fn)=(JK[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,...,fnK[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)
iR.
ElimTH-1.3 Let J=hx1F1,...,xnFni
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 gK[x1,...,xn]generator of Implicit(f1,...,fn).
A.M. Bigatti Implicitization Berlin, July 2016 5 / 10
Implicit ElimTH
Polynomial parametrization: ElimTH algorithm
Input f1,...,fnK[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)
iR.
ElimTH-1.3 Let J=hx1F1,...,xnFni
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 gK[x1,...,xn]generator of Implicit(f1,...,fn).
A.M. Bigatti Implicitization Berlin, July 2016 5 / 10
Implicit ElimTH
Polynomial parametrization: ElimTH algorithm
Input f1,...,fnK[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)
iR.
ElimTH-1.3 Let J=hx1F1,...,xnFni
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 gK[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,...,fnK[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
viPhiQB?
If yes then exit & return corresponding poly: TPiaiTi
If no, update L:= L∪ {x1T,...,xnT};
append Tto QB, and vto PhiQB.
Output TPiaiTiK[x1,...,xn]generator of Implicit(f1,...,fn).
A.M. Bigatti Implicitization Berlin, July 2016 7 / 10
Implicit Direct
Polynomial parametrization: Direct algorithm
Input f1,...,fnK[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
viPhiQB?
If yes then exit & return corresponding poly: TPiaiTi
If no, update L:= L∪ {x1T,...,xnT};
append Tto QB, and vto PhiQB.
Output TPiaiTiK[x1,...,xn]generator of Implicit(f1,...,fn).
A.M. Bigatti Implicitization Berlin, July 2016 7 / 10
Implicit Direct
Polynomial parametrization: Direct algorithm
Input f1,...,fnK[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
viPhiQB?
If yes then exit & return corresponding poly: TPiaiTi
If no, update L:= L∪ {x1T,...,xnT};
append Tto QB, and vto PhiQB.
Output TPiaiTiK[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
qK(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)
iR
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.8228.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
ResearchGate has not been able to resolve any citations for this publication.
ResearchGate has not been able to resolve any references for this publication.