source: git/Tst/Old/m11ex.tst @ 6a9e46

fieker-DuValspielwiese
Last change on this file since 6a9e46 was 46976a6, checked in by Olaf Bachmann <obachman@…>, 26 years ago
* added status check to regress.cmd * added tst_status(1); call to each tst file, just before quit git-svn-id: file:///usr/local/Singular/svn/trunk@2271 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 3.2 KB
Line 
1  LIB "elim.lib";
2  LIB "sing.lib";
3  // Affine polar curve:
4  ring R = 0,(x,z,t),dp;              // global ordering dp
5  poly f = z5+xz3+x2-tz6;
6  dim_slocus(f);                      // dimension of singular locus
7  ideal j = diff(f,x),diff(f,z);
8  dim(std(j));                        // dim V(j)
9  dim(std(j+ideal(f)));               // V(j,f) also 1-dimensional
10  // j defines a curve, but to get the polar curve we must remove the
11  // branches contained in f=0 (they exist since dim V(j,f) = 1). This
12  // gives the polar curve set theoretically. But for the structure we
13  // may take either j:f or j:f^k for k sufficiently large. The first is
14  // just the ideal quotient, the second the iterated ideal quotient
15  // or saturation. In our case both is the same.
16  ideal q = quotient(j,ideal(f));     // ideal quotient
17  ideal qsat = sat(j,f)[1];           // saturation, proc from elim.lib
18  ideal sq = std(q);
19  dim(sq);
20  // 1-dimensional, hence
21  // q defines the affine polar curve
22  //
23  // to check that q and qsat are the same, we show both inclusions, i.e.
24  // both reductions must give the 0-ideal
25  size(reduce(qsat,sq));
26  size(reduce(q,std(qsat)));
27  qsat;
28  // We see that the affine polar curve does not pass through the origin,
29  // hence we expect the local polar "curve" to be empty
30  // ------------------------------------------------
31  // Local polar curve:
32  ring r = 0,(x,z,t),ds;              // local ordering ds
33  poly f = z5+xz3+x2-tz6;
34  dim_slocus(f);                      // dimension of singular locus
35  ideal j = diff(f,x),diff(f,z);
36  dim(std(j));                        // V(j) 1-dimensional
37  dim(std(j+ideal(f)));               // V(j,f) also 1-dimensional
38  ideal q = quotient(j,ideal(f));     // ideal quotient
39  q;
40  // The local polar "curve" is empty, i.e V(j) is contained in V(f)
41  // ------------------------------------------------
42  // Projective polar curve: (we need "sing.lib" and "elim.lib")
43  ring P = 0,(x,z,t,y),dp;            // global ordering dp
44  poly f = z5+xz3+x2-tz6;
45  f = z5y+xz3y2+x2y4-tz6;             // homogenize f with respect to y
46                                      // but consider t as parameter
47  dim_slocus(f);              // projective 1-dimensional singular locus
48  ideal j = diff(f,x),diff(f,z);
49  dim(std(j));                        // V(j), projective 1-dimensional
50  dim(std(j+ideal(f)));               // V(j,f) also projective 1-dimensional
51  ideal q = quotient(j,ideal(f));
52  ideal qsat = sat(j,f)[1];           // saturation, proc from elim.lib
53  dim(std(qsat));
54  // projective 1-dimensional, hence q and/or qsat define the projective
55  // polar curve. In this case, q and qsat are not the same, we needed
56  // 2 quotients.
57  // Let us check both reductions:
58  size(reduce(qsat,std(q)));
59  size(reduce(q,std(qsat)));
60  // Hence q is contained in qsat but not conversely
61  q;
62  qsat;
63  //
64  // Now consider again the affine polar curve,
65  // homogenize it with respect to y (deg t=0) and compare:
66  // affine polar curve:
67  ideal qa = 12zt+3z-10,5z2+12xt+3x,-144xt2-72xt-9x-50z;
68  // homogenized:
69  ideal qh = 12zt+3z-10y,5z2+12xyt+3xy,-144xt2-72xt-9x-50z;
70  size(reduce(qh,std(qsat)));
71  size(reduce(qsat,std(qh)));
72  // both ideals coincide
73LIB "tst.lib";tst_status(1);$
Note: See TracBrowser for help on using the repository browser.