source: git/Tst/Manual/Branches_of_space_curve_singularities.tst @ 76ce4e6

spielwiese
Last change on this file since 76ce4e6 was 894057, checked in by Oleksandr Motsak <motsak@…>, 13 years ago
ADD: Tests from online manual (res+stat on mamawutz): short ones Tst/Manual/s.lst
  • Property mode set to 100644
File size: 2.4 KB
Line 
1LIB "tst.lib"; tst_init();
2  ring r=0,(x,y,z),ds;
3  ideal i=x^4-y*z^2,x*y-z^3,y^2-x^3*z;  // the space curve singularity
4  qhweight(i);
5  // The given space curve singularity is quasihomogeneous. Hence we can pass
6  // to the polynomial ring.
7  ring rr=0,(x,y,z),dp;
8  ideal i=imap(r,i);
9  resolution ires=mres(i,0);
10  ires;
11  // From the structure of the resolution, we see that the Cohen-Macaulay
12  // type of the given singularity is 2
13  //
14  // Let us now look for the branches using the primdec library.
15  LIB "primdec.lib";
16  primdecSY(i);
17  def li=_[2];
18  ideal i2=li[2];       // call the second ideal i2
19  // The curve seems to have 2 branches by what we computed using the
20  // algorithm of Shimoyama-Yokoyama.
21  // Now the same computation by the Gianni-Trager-Zacharias algorithm:
22  primdecGTZ(i);
23  // Having computed the primary decomposition in 2 different ways and
24  // having obtained the same number of branches, we might expect that the
25  // number of branches is really 2, but we can check this by formulae
26  // for the invariants of space curve singularities:
27  //
28  // mu = tau - t + 1 (for quasihomogeneous curve singularities)
29  // where mu denotes the Milnor number, tau the Tjurina number and
30  // t the Cohen-Macaulay type
31  //
32  // mu = 2 delta - r + 1
33  // where delta denotes the delta-Invariant and r the number of branches
34  //
35  // tau can be computed by using the corresponding procedure T1 from
36  // sing.lib.
37  setring r;
38  LIB "sing.lib";
39  T_1(i);
40  setring rr;
41  // Hence tau is 13 and therefore mu is 12. But then it is impossible that
42  // the singularity has two branches, since mu is even and delta is an
43  // integer!
44  // So obviously, we did not decompose completely. Because the first branch
45  // is smooth, only the second ideal can be the one which can be decomposed
46  // further.
47  // Let us now consider the normalization of this second ideal i2.
48  LIB "normal.lib";
49  normal(i2);
50  def rno=_[1][1];
51  setring rno;
52  norid;
53  // The ideal is generated by a polynomial in one variable of degree 4 which
54  // factors completely into 4 polynomials of type T(2)+a.
55  // From this, we know that the ring of the normalization is the direct sum of
56  // 4 polynomial rings in one variable.
57  // Hence our original curve has these 4 branches plus a smooth one
58  // which we already determined by primary decomposition.
59  // Our final result is therefore: 5 branches.
60tst_status(1);$
Note: See TracBrowser for help on using the repository browser.