Top
Back: A.12 Computation of Ext
Forward: A.14 Depth
FastBack: A. Examples
FastForward: B. Polynomial data
Up: A. Examples
Top: Singular 2-0-4 Manual
Contents: Table of Contents
Index: F. Index
About: About This Document

A.13 Polar curves

The polar curve of a hypersurface given by a polynomial $f\in k[x_1,\ldots,x_n,t]$ with respect to $t$ (we may consider $f=0$ as a family of hypersurfaces parametrized by $t$ ) is defined as the Zariski closure of $V(\partial f/\partial x_1,\ldots,\partial f/\partial x_n) \setminus V(f)$ if this happens to be a curve. Some authors consider $V(\partial f/\partial x_1,\ldots,\partial f/\partial x_n)$ itself as polar curve.

We may consider projective hypersurfaces (in $P^n$), affine hypersurfaces (in $k^n$) or germs of hypersurfaces (in $(k^n,0)$), getting in this way projective, affine or local polar curves.

Now let us compute this for a family of curves. We need the library elim.lib for saturation and sing.lib for the singular locus.

 
  LIB "elim.lib";
  LIB "sing.lib";
  // Affine polar curve:
  ring R = 0,(x,z,t),dp;              // global ordering dp
  poly f = z5+xz3+x2-tz6;
  dim_slocus(f);                      // dimension of singular locus
→ 1
  ideal j = diff(f,x),diff(f,z);
  dim(std(j));                        // dim V(j)
→ 1
  dim(std(j+ideal(f)));               // V(j,f) also 1-dimensional
→ 1
  // j defines a curve, but to get the polar curve we must remove the
  // branches contained in f=0 (they exist since dim V(j,f) = 1). This
  // gives the polar curve set theoretically. But for the structure we
  // may take either j:f or j:f^k for k sufficiently large. The first is
  // just the ideal quotient, the second the iterated ideal quotient
  // or saturation. In our case both coincide.
  ideal q = quotient(j,ideal(f));     // ideal quotient
  ideal qsat = sat(j,f)[1];           // saturation, proc from elim.lib
  ideal sq = std(q);
  dim(sq);
→ 1
  // 1-dimensional, hence q defines the affine polar curve
  //
  // to check that q and qsat are the same, we show both inclusions, i.e.,
  // both reductions must give the 0-ideal
  size(reduce(qsat,sq));
→ 0
  size(reduce(q,std(qsat)));
→ 0
  qsat;
→ qsat[1]=12zt+3z-10
→ qsat[2]=5z2+12xt+3x
→ qsat[3]=144xt2+72xt+9x+50z
  // We see that the affine polar curve does not pass through the origin,
  // hence we expect the local polar "curve" to be empty
  // ------------------------------------------------
  // Local polar curve:
  ring r = 0,(x,z,t),ds;              // local ordering ds
  poly f = z5+xz3+x2-tz6;
  ideal j = diff(f,x),diff(f,z);
  dim(std(j));                        // V(j) 1-dimensional
→ 1
  dim(std(j+ideal(f)));               // V(j,f) also 1-dimensional
→ 1
  ideal q = quotient(j,ideal(f));     // ideal quotient
  q;
→ q[1]=1
  // The local polar "curve" is empty, i.e., V(j) is contained in V(f)
  // ------------------------------------------------
  // Projective polar curve: (we need "sing.lib" and "elim.lib")
  ring P = 0,(x,z,t,y),dp;            // global ordering dp
  poly f = z5y+xz3y2+x2y4-tz6;
                                      // but consider t as parameter
  dim_slocus(f);              // projective 1-dimensional singular locus
→ 2
  ideal j = diff(f,x),diff(f,z);
  dim(std(j));                        // V(j), projective 1-dimensional
→ 2
  dim(std(j+ideal(f)));               // V(j,f) also projective 1-dimensional
→ 2
  ideal q = quotient(j,ideal(f));
  ideal qsat = sat(j,f)[1];           // saturation, proc from elim.lib
  dim(std(qsat));
→ 2
  // projective 1-dimensional, hence q and/or qsat define the projective
  // polar curve. In this case, q and qsat are not the same, we needed
  // 2 quotients.
  // Let us check both reductions:
  size(reduce(qsat,std(q)));
→ 4
  size(reduce(q,std(qsat)));
→ 0
  // Hence q is contained in qsat but not conversely
  q;
→ q[1]=12zty+3zy-10y2
→ q[2]=60z2t-36xty-9xy-50zy
  qsat;
→ qsat[1]=12zt+3z-10y
→ qsat[2]=12xty+5z2+3xy
→ qsat[3]=144xt2+72xt+9x+50z
→ qsat[4]=z3+2xy2
  //
  // Now consider again the affine polar curve,
  // homogenize it with respect to y (deg t=0) and compare:
  // affine polar curve:
  ideal qa = 12zt+3z-10,5z2+12xt+3x,-144xt2-72xt-9x-50z;
  // homogenized:
  ideal qh = 12zt+3z-10y,5z2+12xyt+3xy,-144xt2-72xt-9x-50z;
  size(reduce(qh,std(qsat)));
→ 0
  size(reduce(qsat,std(qh)));
→ 0
  // both ideals coincide

Top Back: A.12 Computation of Ext Forward: A.14 Depth FastBack: A. Examples FastForward: B. Polynomial data Up: A. Examples Top: Singular 2-0-4 Manual Contents: Table of Contents Index: F. Index About: About This Document
            User manual for Singular version 2-0-4, October 2002, generated by texi2html.