source: git/Tst/BuchDL/Ex_L9.tst @ 853a8a

spielwiese
Last change on this file since 853a8a was 7c99d0, checked in by Hans Schönemann <hannes@…>, 18 years ago
*hannes: SORT for factorize git-svn-id: file:///usr/local/Singular/svn/trunk@8836 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 9.4 KB
Line 
1LIB "tst.lib";
2tst_init();
3
4
5//======================  Example 9.5 =============================
6ring R = 0, x, dp;    // global order: x>1
7ideal I = x2+x;
8std(I);
9//->   _[1]=x2+x
10ring S = 0, x, ds;    // local order: 1>x
11ideal I = x2+x;
12std(I);
13//->   _[1]=x
14
15
16kill R,S;
17//=================== Lemma 9.11 (new Session) =====================
18ring R = 0, (v,w), M(-2,1,0,-1);
19poly f = 1-vw;
20reduce(1,std(ideal(f))); // output shows: f is a unit in R
21//->   0
22ring S = 0, (v,w), M(-2,3,0,-1);
23map phi = R,v,w;         // implementing a nonexisting ring map
24reduce(1,std(phi(f)));   // output shows: f is not a unit in S
25//->   1
26
27
28kill R,S;
29//=================== Example 9.27 (new Session) =====================
30ring R = 0, (x,y), ds;   // local monomial order
31poly f = y13-y15+x2y9+x2y10-2x2y11-x2y12+x2y13-3x3y11+3x3y13+x4y6
32-x4y7-2x4y8+x4y9+x4y10-3x5y7-3x5y8+5x5y9-x5y10-2x5y11+4x5y12-x6y4
33+x6y6+3x6y9-3x6y11-3x7y4+2x7y5+x7y6-6x7y7+6x7y8+3x7y9-4x7y10+x7y11
34+3x8y5+3x8y6-4x8y7+x8y8+x8y9-4x8y10+2x9y2-4x9y3+2x9y4+7x9y5-5x9y6
35-3x9y7+x9y8+3x10y2-x10y3+5x10y5-3x10y6-3x10y7-x10y9+4x11y-x11y2
36-4x11y3+x11y4-x12+4x12y+x12y2-3x12y3+x12y4-x12y5-x12y6+x14-x14y2;
37factorize(f); 
38//->   [1]:
39//->      _[1]=-1
40//->      _[2]=-y4+2x3y2-x6+4x5y+x7
41//->      _[3]=x2-y2+x3
42//->      _[4]=x2+y3
43//->      _[5]=x2+y4
44//->      _[6]=-1+y
45//->      _[7]=1+y
46//->   [2]:
47//->      1,1,1,1,1,1,1
48
49//============= Example 9.48 (continuation of session) ===============
50if (not(defined(hnexpansion))){ LIB "hnoether.lib"; }
51list L = hnexpansion(f);
52def HNring = L[1];
53show(HNring);
54//->   // ring: (0,a),(x,y),(ls(2),C);
55//->   // minpoly = (a2+1)
56//->   // objects belonging to this ring:
57//->   // f                    [0]  poly
58//->   // hne                  [0]  list, size: 6
59setring HNring;
60displayHNE(hne);
61//->   // Hamburger-Noether development of branch nr.1:
62//->     y = x+1/2*x^2 + ..... (terms of degree >=3)
63
64//->   // Hamburger-Noether development of branch nr.2:
65//->     y = -x-1/2*x^2 + ..... (terms of degree >=3)
66
67//->   // Hamburger-Noether development of branch nr.3:
68//->     y = z(1)*x
69//->     x = z(1)^2+z(1)^2*z(2)
70//->     z(1) = 1/4*z(2)^2-1/2*z(2)^3 + ..... (terms of degree >=4)
71
72//->   // Hamburger-Noether development of branch nr.4:
73//->     x = z(1)*y
74//->     y = -z(1)^2
75 
76//->   // Hamburger-Noether development of branch nr.5:
77//->     x = (a)*y^2
78
79//->   // Hamburger-Noether development of branch nr.6:
80//->     x = (-a)*y^2
81 
82ring R_param = (0,a), (x,y,t), ls;
83minpoly = a2+1;
84list hne = imap(HNring,hne);
85list P = param(hne[3],1);
86//->   // ** Warning: result is exact up to order 5 in x and 7 in y !
87P[1];
88//->   _[1]=1/16*t4-3/16*t5+1/4*t7
89//->   _[2]=1/64*t6-5/64*t7+3/32*t8+1/16*t9-1/8*t10
90hne[3] = extdevelop(hne[3],5);
91P = param(hne[3],1);
92//->   // ** Warning: result is exact up to order 7 in x and 9 in y !
93P[1];
94//->   _[1]=1/16*t4-3/16*t5+47/128*t6-19/32*t7+ [...]
95//->   _[2]=1/64*t6-5/64*t7+237/1024*t8-271/512*t9+ [...]
96
97displayInvariants(hne);
98//->   [...]
99//->   --- invariants of branch number 3 : ---
100//->   characteristic exponents  : 4,6,7
101//->   generators of semigroup   : 4,6,13
102//->   Puiseux pairs             : (3,2)(7,2)
103//->   degree of the conductor   : 16
104//->   delta invariant           : 8
105//->   sequence of multiplicities: 4,2,2,1,1
106//->   [...]
107//->    -------------- intersection multiplicities : --------------
108
109//->   branch |    6     5     4     3     2   
110//->   -------+-----------------------------
111//->       1  |    1,    1,    2,    4,    1
112//->       2  |    1,    1,    2,    4
113//->       3  |    4,    4,    8
114//->       4  |    3,    3
115//->       5  |    2
116//->   [...]
117
118
119kill R,L,HNring,R_param;
120//=================== Example 9.31 (new Session) =====================
121ring R = 0, (x,y,z), dp;
122ideal I = x*(x2-y2z), (y-z)*(x2-y2z);
123ideal G = std(I); G;       // compute Groebner basis
124//->   G[1]=y3z-y2z2-x2y+x2z
125//->   G[2]=xy2z-x3
126dim(G);                    // global dimension
127//->   2
128ring R1 = 0, (x,y,z), ds;  // implements local ring at (0,0,0)
129ideal I = imap(R,I);
130ideal G = std(I); G;       // compute standard basis
131//->   G[1]=x3-xy2z
132//->   G[2]=x2y-x2z-y3z+y2z2
133dim(G);                    // local dimension at (0,0,0)
134//->   2
135map phi = R,x,y-1,z-1;     // translate (0,1,1) to the origin
136I = phi(I);
137G = std(I); G;
138//->   G[1]=x
139//->   G[2]=y-z-2y2+yz+z2+x2y+y3-x2z+y2z-2yz2-y3z+y2z2
140dim(G);                    // local dimension at (0,1,1)
141//->   1
142map psi = R,x,y,z+1;       // translate (0,0,-1) to the origin
143I = psi(I);
144G = std(I);
145G;
146//->   G[1]=x2-y2-x2y+y3+x2z-2y2z+y3z-y2z2
147dim(G);                    // local dimension at (0,0,-1)
148//->   2
149setring R;
150if (not(defined(minAssGTZ))){ LIB "primdec.lib"; }
151list L = minAssGTZ(G); L;
152//->   [2]:
153//->      _[1]=y-z
154//->      _[2]=x
155//->   [1]:
156//->      _[1]=-y2z+x2
157ideal SLoc = L[1][1], jacob(L[1][1]);
158radical(SLoc);
159//->   _[1]=y
160//->   _[2]=x
161
162
163kill R,R1;
164//=================== Example 9.36 (new Session) =====================
165ring S = 0, (x,y), ds;     // the local ring
166poly f = y2-2x28y-4x21y17+4x14y33-8x7y49+x56+20y65+4x49y16;
167ideal I = f, jacob(f);
168vdim(std(I));              // Tjurina number at the origin
169//->   2260
170ring R = 0, (x,y), dp;      // the affine ring Q[x,y]
171ideal I = fetch(S,I);
172vdim(std(I));
173//->   2260
174ring SH = 0, (x,y,z), dp;
175poly f = fetch(S,f);
176poly fhom = homog(f,z);
177ring R1 = 0, (y,z), dp;
178map phi = SH,1,y,z;
179poly g = phi(fhom);         // fhom in the affine chart (x=1)
180g;
181//->   20y65+y2z63-8y49z9+4y33z18-4y17z27-2yz36+4y16+z9
182ideal J = g, jacob(g);
183vdim(std(J));
184//->   120
185ring R2 = 0, (y,z), ds;     // the local ring at (1:0:0)
186ideal J = fetch(R1,J);
187vdim(std(J));
188//->   120
189
190
191kill S,R,SH,R1,R2;
192//=================== Example 9.39 (new Session) =====================
193ring R_loc = 0, (x,y), ds;    // local monomial order
194poly f, g = 2x2-y3, 2x2-y5;
195ideal I = f, g;   
196vdim(std(I));  // intersection multiplicity at origin
197//->   6
198LIB "surf.lib";
199//   plot(f,"scale_x=0.15; scale_y=0.15;");
200//   plot(g,"scale_x=0.15; scale_y=0.15;");
201//   plot(f*g,"scale_x=0.15; scale_y=0.15;");
202ring R_aff = 0, (x,y), dp;    // global monomial order
203ideal I = imap(R_loc,I);
204vdim(std(I));
205//->   10
206if (not(defined(primdecGTZ))){ LIB "primdec.lib"; }
207primdecGTZ(I);
208//->   [1]:
209//->      [1]:
210//->         _[1]=y3
211//->         _[2]=x2
212//->      [2]:
213//->         _[1]=y
214//->         _[2]=x
215//->   [2]:
216//->      [1]:
217//->         _[1]=y-1
218//->         _[2]=2x2-1
219//->      [2]:
220//->         _[1]=y-1
221//->         _[2]=2x2-1
222//->   [3]:
223//->      [1]:
224//->         _[1]=y+1
225//->         _[2]=2x2+1
226//->      [2]:
227//->         _[1]=y+1
228//->         _[2]=2x2+1
229ring Rt_loc = (0,t), (x,y), ds;  // choose coefficient field Q(t)
230poly F = imap(R_loc,f)-(t/2)*y2;
231poly G = imap(R_loc,g)+(5t2/4)*y3-(5t4/16)*y-(t5/16);
232ideal I = F, G;
233vdim(std(I));   // intersection number at (0,0) for general fiber
234//->   0
235ring Rt_aff = (0,t), (x,y), dp;
236ideal I = imap(Rt_loc,I);   
237vdim(std(I));   // sum of intersection numbers for general fiber
238//->   10
239primdecGTZ(I);
240//->   [1]:
241//->      [1]:
242//->         _[1]=16*y5+(-20t2-16)*y3+(-8t)*y2+(5t4)*y+(t5)
243//->         _[2]=-2*y3+4*x2+(-t)*y2
244//->      [2]:
245//->         _[1]=16*y5+(-20t2-16)*y3+(-8t)*y2+(5t4)*y+(t5)
246//->         _[2]=-2*y3+4*x2+(-t)*y2
247setring Rt_loc;
248poly f_def = subst(F,t,1/10);
249poly g_def = subst(G,t,1/10);
250setring R_loc;
251poly f_def = imap(Rt_loc,f_def);
252poly g_def = imap(Rt_loc,g_def);
253//   plot(f_def,"scale_x=0.001; scale_y=0.015;");
254//   plot(g_def,"scale_x=0.001; scale_y=0.015;");
255map phi = R_loc, 1/1000*x, 1/10*y;               // zooming map
256//   plot(10000000*phi(f_def)*phi(g_def),"scale_x=0.5;scale_y=0.075;");
257if (not(defined(tjurina))){ LIB "sing.lib"; }
258tjurina(f);
259//->   2
260milnor(f);
261//->   2
262tjurina(g);
263//->   4
264milnor(g);
265//->   4
266setring Rt_loc;
267tjurina(F);     // Tjurina number at origin for general fiber
268//->   1
269setring Rt_aff;
270poly F = imap(Rt_loc,F);
271tjurina(F);     // sum of Tjurina numbers for general fiber
272//->   1
273poly G = imap(Rt_loc,G);
274tjurina(G);
275//->   2
276setring Rt_loc;
277tjurina(G);
278//->   0
279setring Rt_aff;
280milnor(F);        // sum of Milnor numbers for general fiber
281//->   2
282milnor(G);
283//->   4
284setring R_loc;
285poly h0 = diff(g,x);
286poly h0_prime = diff(g,x)+diff(g,y);
287poly hc = diff(g_def,x);
288poly hc_prime = diff(g_def,x)+diff(g_def,y);
289//   plot(h0*h0_prime,"scale_x=0.15; scale_y=0.15;");
290//   plot(hc*hc_prime,"scale_x=0.000005; scale_y=0.015;");
291
292
293kill R_loc,Rt_loc,R_aff,Rt_aff;
294//=================== Remark 9.41 (new Session) =====================
295ring R = 0, (x,y,z), dp;
296ideal I0 = x-z, y-z^2;       // vanishing at the origin
297ideal I1 = x-z+1, y-z^2+1;   // not vanishing at the origin
298ideal I = intersect(I0,I1);
299I = std(I); I;
300//->   _[1]=z2+x-y-z
301//->   _[2]=x2-2xz+y
302ring Rloc = 0, (x,y,z), ds;
303ideal Iloc = fetch(R,I);
304Iloc = std(Iloc); Iloc;
305//->   _[1]=x-y-z+z2
306//->   _[2]=y+x2-2xz
307ideal J = eliminate(Iloc,z);
308J;
309//->   J[1]=2xy-y2-2x3+2x2y-x4
310factorize(J[1],1);
311//->   _[1]=-2x+y-x2
312//->   _[2]=-y+x2
313ideal I0loc = fetch(R,I0);
314eliminate(I0loc,z);
315//->   _[1]=y-x2
316
317
318kill R,Rloc;
319//=================== Example 9.42 (new Session) =====================
320ring R = 0, (t,x,y,z), ds;
321ideal I = x-t+t3, y-t+t2, z-t;
322ideal C = eliminate(I,t); C;
323//->   C[1]=x-z+z3
324//->   C[2]=y-z+z2
325eliminate(C,z);
326//->   _[1]=x2-3xy+2y2+y3
327//   plot(x2-3xy+2y2+y3,"scale_x=0.05;scale_y=0.05;");
328
329
330kill R;
331//=================== Remark 9.49 (new Session) =====================
332ring R = 0, (x,y,t), ds;
333ideal J = x-t4, y-t6-t7;
334eliminate(J,t);
335//->   _[1]=y4-2x3y2+x6-4x5y-x7
336
337tst_status(1);$
338
Note: See TracBrowser for help on using the repository browser.