Top
Back: Critical points
Forward: T1 and T2
FastBack: Commutative Algebra
FastForward: Invariant Theory
Up: Singularity Theory
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

A.4.3 Polar curves

The polar curve of a hypersurface given by a polynomial with respect to (we may consider as a family of hypersurfaces parametrized by ) is defined as the Zariski closure of if this happens to be a curve. Some authors consider itself as polar curve.

We may consider projective hypersurfaces affine hypersurfaces or germs of hypersurfaces 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
==> q[3]=12xty2+5z2y+3xy2
==> q[4]=z3y+2xy3
  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: Critical points Forward: T1 and T2 FastBack: Commutative Algebra FastForward: Invariant Theory Up: Singularity Theory Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 4.2.1, 2021, generated by texi2html.