source: git/Singular/LIB/SingularityDBM.lib @ b41ce4

fieker-DuValspielwiese
Last change on this file since b41ce4 was b41ce4, checked in by Hans Schoenemann <hannes@…>, 5 years ago
new lib: arnoldclassify.lib
  • Property mode set to 100644
File size: 14.9 KB
Line 
1/////////////////////////////////////////////////////////////////////////////
2version="version singularityDBM.lib 4.1.0.0 Sep_2017 "; //
3category="Singularities";
4info="
5LIBRARY:  singularityDBM.lib     Data Base of Singularities for the Arnold-Classifier
6AUTHOR:   Eva Maria Hemmerling,  ehemmerl@rhrk.uni-kl.de
7
8PROCEDURES:
9 makedbm_init();
10 dbm_read(l);          read all entries from a DBM-databaes pointed by l
11 dbm_getnext(l);       read next entry from a DBM-databaes pointed by l
12 create_singularity_dbm();
13 read_singularity_db();
14";
15
16//=============================================================================
17
18static proc makedbm_init()
19{
20//* Generates file containing a data base for singularities up to corank 2
21//* listed by Arnol'd. This file is needed for arnoldclassify.lib.
22
23  string s;
24  link l="DBM:r Singularitylist";
25  s = read(l,"VERSION");
26  if (s == "" ) {
27    "Need to create database...";
28    create_singularity_dbm();
29  }
30  close(l);
31  l="DBM:r Singularitylist";
32  s = read(l,"VERSION");
33  "Creation done. Current version:", s;
34}
35//=============================================================================
36
37static proc dbm_read (link l)
38{
39  string s="";
40  s=read(l);
41  while( s != "" )
42  {
43    s,"=",read(l,s);
44    s=read(l);
45  }
46}
47
48//=============================================================================
49static proc dbm_getnext (link l)
50{
51  string s="";
52  s=read(l);
53  if( s != "" ) { s,"=",read(l,s); }
54}
55
56//=============================================================================
57proc create_singularity_dbm
58"USAGE:   create_singularity_dbm();
59COMPUTE: Generates two files,  Singularitylist.dir and Singularitylist.pag
60         containing a data base for singularities up to corank 2 listed
61                                 by Arnol'd.
62RETURN:  Nothing
63"
64{
65  link l="DBM:rw Singularitylist";
66
67//*Data typ singseries;
68  string s;
69
70//* A[k]       
71        s = "singseries f;
72        f.Series = \"A[k]\";
73        f.Modality = \"0\";
74        f.Corank = \"1\";
75        f.MilnorNumber = \"k\";
76        f.MilnorCode = \"k\";
77        f.NormalForm = \"x^(k+1)\";
78        f.SpecialForm = \"x^(k+1)\";
79        f.Restrictions = \"(k>1)\";";
80  write(l, "A[k]", s);
81       
82//* D[k]       
83        s = "singseries f;
84        f.Series = \"D[k]\";
85        f.Modality = \"0\";
86        f.Corank = \"2\";
87        f.MilnorNumber = \"k\";
88        f.MilnorCode = \"1,1,k-3\";
89        f.NormalForm = \"x^2*y+y^(k-1)\";
90        f.SpecialForm = \"x^2*y+y^(k-1)\";
91        f.Restrictions = \"(k>=4)\";";
92  write(l, "D[k]", s);
93
94//* J[k,0]
95        s = "singseries f;
96        f.Series = \"J[k,0]\";
97        f.Modality = \"0\";
98        f.Corank = \"2\";
99        f.MilnorNumber = \"6*k-2\";
100        f.MilnorCode = \"1,2*k+j,2*k-2*j-3\";
101        f.NormalForm = \"x^3 + b(y)*x^2*y^k+c(y)*x*y^(2*k+1)+y^(3*k)\";
102        f.SpecialForm = \"x^3 + x^2*y^k+y^(3*k)\";
103        f.Restrictions = \"(k>1)&& (4*b^3 + 27 != 0)&&
104         (deg(b)==0)&&(deg(c)<=(k-3))&&(k>2||c==0)\";";
105  write(l, "J[k,0]", s);
106
107//* J[k,r]
108        s = "singseries f;
109        f.Series = \"J[k,r]\";
110        f.Modality = \"0\";
111        f.Corank = \"2\";
112        f.MilnorNumber = \"6*k-2+r\";
113        f.MilnorCode = \"1,2*k-1,2*k+r-1\";
114        f.NormalForm = \"x^3 + x^2*y^k+a(y)*y^(3*k+r)\";
115        f.SpecialForm = \"x^3 + x^2*y^k+y^(3*k+r)\";
116        f.Restrictions = \"(k>1)&&(r>0)&&(jet(a,0)!= 0)&&(deg(a)<=(k-2)) \";";
117  write(l, "J[k,r]", s);
118
119//* E[6k]
120        s = "singseries f;
121        f.Series = \"E[6k]\";
122        f.Modality = \"0\";
123        f.Corank = \"2\";
124        f.MilnorNumber = \"6*k\";
125        f.MilnorCode = \"1,2*k+j,2*k-2j-1\";
126        f.NormalForm = \"x^3 + a(y)*x*y^(2*k+1)+y^(3*k+1)\";
127        f.SpecialForm = \"x^3+y^(3*k+1)\";
128        f.Restrictions = \"(k>=1)&&(k>1||a==0)&&(deg(a)<=(k-2))\";";
129  write(l, "E[6k]", s);
130
131//* E[6k+1]     
132        s = "singseries f;
133        f.Series = \"E[6k+1]\";
134        f.Modality = \"0\";
135        f.Corank = \"2\";
136        f.MilnorNumber = \"6*k+1\";
137        f.MilnorCode = \"1,2*k,2*k\";
138        f.NormalForm = \"x^3 + x*y^(2*k+1)+a(y)*y^(3*k+2)\";
139        f.SpecialForm = \"x^3 + x*y^(2*k+1)\";
140        f.Restrictions = \"(k>=1)&&(k>1||a==0)&&(deg(a)<=(k-2))\";";
141  write(l, "E[6k+1]", s);
142
143//* E[6k+2]     
144        s = "singseries f;
145        f.Series = \"E[6k+2]\";
146        f.Modality = \"0\";
147        f.Corank = \"2\";
148        f.MilnorNumber = \"6*k+2\";
149        f.MilnorCode = \"1,2*k+j+1,2*k-2j-1\";
150        f.NormalForm = \"x^3 + a(y)*x*y^(2*k+2)+y^(3*k+2)\";
151        f.SpecialForm = \"x^3 +y^(3*k+2)\";
152        f.Restrictions = \"(k>=1)&&(k>1||a==0)&&(deg(a)<=(k-2))\";";
153  write(l, "E[6k+2]", s);
154
155//* X[k,0]
156        s = "singseries f;
157        f.Series = \"X[k,0]\";
158        f.Modality = \"3*k-2\";
159        f.Corank = \"2\";
160        f.MilnorNumber = \"12*k-3\";
161        f.MilnorCode = \"1,1,2*k-1+j,2k-1-2*j+t,2*k-1+j-2t\";
162        f.NormalForm = \"x^4 + b(y)*x^3*y^k + a(y)*x^2*y^(2*k) + x*y^(3*k)\";
163        f.SpecialForm = \"x^4 + x^3*y^k + x*y^(3*k)\";
164        f.Restrictions = \"(jet(a,0)*jet(b,0)!=9)&&(k>1)&&(4*(jet(a,0)^3+jet(b,0)^3)
165         - jet(a,0)^2*jet(b,0)^2-18* jet(a,0)*jet(b,0) + 27 !=0)&&(deg(a)<=(k-2))
166         &&(deg(b)<=(2*k-2))\";";
167  write(l, "X[k,0]", s);
168       
169        //* X[1,0]
170                s = "singseries f;
171                f.Series = \"X[1,0]\";
172                f.Modality = \"1\";
173                f.Corank = \"2\";
174                f.MilnorNumber = \"9\";
175                f.MilnorCode = \"1,1,1+j,1-2*j+t,1+j-2t\";
176                f.NormalForm = \"x^4 + a(y)*x^2*y^2 + y^4\";
177                f.SpecialForm = \"x^4 + x^2*y^2 + y^4\";
178                f.Restrictions = \"(deg(a)==0)&&(jet(a,0)^2!=4)\";";
179          write(l, "X[1,0]", s);
180       
181        //* X[k,r]     
182                s = "singseries f;
183                f.Series = \"X[k,r]\";
184                f.Modality = \"3*k-2\";
185                f.Corank = \"2\";
186                f.MilnorNumber = \"12*k-3+r\";
187                f.MilnorCode = \"1,1,2*k-1+j,2k-1-2*j,2*k-1+j+r\";
188                f.NormalForm = \"x4+a(y)*x3*y^(k)+x^2*y^(2*k)+b(y)*y^(4*k+r)\";
189                f.SpecialForm = \"x4+x3*y^(k)+x^2*y^(2*k)+y^(4*k+r)\";
190                f.Restrictions = \"(k>1)&&(r>0)&&(deg(a)<=(k-2))&&(jet(a,0)^2!=4)&&
191                (jet(b,0)!=0)&&(deg(b)<=(2*k-2))\";";
192          write(l, "X[k,r]", s);
193               
194        //* X[1,r]
195                s = "singseries f;
196                f.Series = \"X[1,r]\";
197                f.Modality = \"1\";
198                f.Corank = \"2\";
199                f.MilnorNumber = \"9+r\";
200                f.MilnorCode = \"1,1,1+j,1-2*j,1+j+r\";
201                f.NormalForm = \"x4+x^2*y^2+a(y)*y^(4+r)\";
202                f.SpecialForm = \"x4+x^2*y^2+y^(4+r)\";
203                f.Restrictions = \"(deg(a)==0)&&(jet(a,0)!=0)\";";
204                write(l, "X[1,r]", s);
205               
206        //* Y[k,r,s]
207                s = "singseries f;
208                f.Series = \"Y[k,r,s]\";
209                f.Modality = \"3*k-2\";
210                f.Corank = \"2\";
211                f.MilnorNumber = \"12*k-3+r+s\";
212                f.MilnorCode = \"1,1,2*k-1,2*k-1+j,2*k-1-2*j+r+s\";
213                f.NormalForm = \"((x + a(y)*y^k)^2 + b(y)*y^(2*k+s))*(x2 + y^(2*k+r))\";
214                f.SpecialForm = \"((x + y^k)^2 + y^(2*k+s))*(x2 + y^(2*k+r))\";
215                f.Restrictions = \"(jet(a,0)!=0)&&(deg(a)<=(k-2))&&(k>1)&&(jet(b,0)!=0)
216                &&(1<=s)&&(s<=7)\";";
217                write(l, "Y[k,r,s]", s);
218       
219        //* Y[1,r,s]
220                s = "singseries f;
221                f.Series = \"Y[1,r,s]\";
222                f.Modality = \"1\";
223                f.Corank = \"2\";
224                f.MilnorNumber = \"9+r+s\";
225                f.MilnorCode = \"1,1,1,1+j,1-2*j+r+s\";
226                f.NormalForm = \" x^(4+r)+ a(y)*x2*y2 + y^(4+s)\";
227                f.SpecialForm = \" x^(4+r)+ x2*y2 + y^(4+s)\";
228                f.Restrictions = \"(deg(a)==0)&&(jet(a,0)!=0)&&(1<=s)&&(s<=7)\";";
229                write(l, "Y[1,r,s]", s);
230               
231        //* Z[k,r]
232                s = "singseries f;
233                f.Series = \"Z[k,r]\";
234                f.Modality = \"3*k+r-2\";
235                f.Corank = \"2\";
236                f.MilnorNumber = \"12*k-3+6*r\";
237                f.MilnorCode = \"1,1,2*k-1,2*k-1+j,2*k-1+6*r-2*j\";
238                f.NormalForm = \"(x + a(y)*y^k)*(x^3 + d(y)*x2*y^(k+1) +
239                c(y)*x*y^(2*k+2*r+1) + y^(3*k+3*r))\";
240                f.SpecialForm = \"(x + y^k)*(x^3 + 2*y^(k+1) + x*y^(2*k+2*r+1) +
241                y^(3*k+3*r))\";
242                f.Restrictions = \"(k>1)&&(r>=0)&&(4*d^3+27!=0)&&(deg(d)==0)&&
243                (deg(c)<=(2*k+r-3))&&(deg(a)<=(k-2))\";";
244                write(l, "Z[k,r]", s);
245               
246        //* Z[1,r]
247                s = "singseries f;
248                f.Series = \"Z[1,r]\";
249                f.Modality = \"1+r\";
250                f.Corank = \"2\";
251                f.MilnorNumber = \"9+6*r\";
252                f.MilnorCode = \"1,1,1,1+j,1+6*r-2*j\";
253                f.NormalForm = \"y*(x^3 + d(y)*x^2*y^(2) + c(y)*x*y^(2+2*r+1) +
254                y^(3+3*r))\";
255                f.SpecialForm = \"y*(x^3 + x^2*y^(2) + x*y^(2+2*r+1) +
256                y^(3+3*r))\";
257                f.Restrictions = \"(r>=0)&&(4*d^3+27!=0)&&(deg(d)==0)
258                &&(deg(c)<=(r-1))\";";
259                write(l, "Z[1,r]", s);
260
261        //* Z[k,r,s]
262                s = "singseries f;
263                f.Series = \"Z[k,r,s]\";
264                f.Modality = \"3*k+r-2\";
265                f.Corank = \"2\";
266                f.MilnorNumber = \"12*k+6*r+s-3\";
267                f.MilnorCode = \"1,1,2*k-1,2*k-1+2*r,2*k-1+2*r-s\";
268                f.NormalForm = \"(x^2 + a(y)*x*y^k + b(y)*y^(2*k+r))*
269                (x^2 + y^(2*k+2*r+s))\";
270                f.SpecialForm = \"(x^2 + x*y^k + y^(2*k+r))*(x^2 + y^(2*k+2*r+s))\";
271                f.Restrictions = \"(k>1)&&(r>=0)&&(deg(a)<=(k-2))&&(jet(a,0)!=0)&&
272                (jet(b,0)!=0)&&(deg(b)<=(2*k+r-2))\";";
273                write(l, "Z[k,r,s]", s);
274               
275        //* Z[1,r,s]
276                s = "singseries f;
277                f.Series = \"Z[1,r,s]\";
278                f.Modality = \"1+r\";
279                f.Corank = \"2\";
280                f.MilnorNumber = \"9+6*r+s\";
281                f.MilnorCode = \"1,1,1,1+2*r,1+2*r-s\";
282                f.NormalForm = \"y*(x^3 + x^2*y^(r+1) + b(y)*y^(3*r+s+3))\";
283                f.SpecialForm = \"y*(x^3 + x^2*y^(r+1) + y^(3*r+s+3))\";
284                f.Restrictions = \"(r>=0)&&(jet(b,0)!=0)&&(deg(b)<=(2*k+r-2))\";";
285                write(l, "Z[1,r,s]", s);
286               
287        //* Z[k,12k+6r-1]       
288                s = "singseries f;
289                f.Series = \"Z[k,12k+6r-1]\";
290                f.Modality = \"3*k+r-2\";
291                f.Corank = \"2\";
292                f.MilnorNumber = \"12*k+6r-1\";
293                f.MilnorCode = \"1,1,2k-1,2k-1+j,2k+1+6*r-2*j\";
294                f.NormalForm = \"(x + a(y)*y^k)*(x^3 + b(y)*x*y^(2*k+2*r+1) +
295                 y^(3*k+3*r+1))\";
296                f.SpecialForm = \"(x + y^k)*(x^3 + x*y^(2*k+2*r+1) + y^(3*k+3*r+1))\";
297                f.Restrictions = \" (k>1)&&(r>=0)&&(deg(a)<=(k-2))&&(jet(a,0)!=0)&&
298                (jet(b,0)!=0)&&(deg(b)<=(2*k+r-2))\";";
299                write(l, "Z[k,12k+6r-1]", s);
300               
301                //* Z[1,6r+11] 
302                        s = "singseries f;
303                        f.Series = \"Z[1,6r+11]\";
304                        f.Modality = \"1+r\";
305                        f.Corank = \"2\";
306                        f.MilnorNumber = \"6r+11\";
307                        f.MilnorCode = \"1,1,1,1+j,3+6*r-2*j\";
308                        f.NormalForm = \"y*(x^3 + b(y)*x*y^(2+2*r+1) + y^(3+3*r+1))\";
309                        f.SpecialForm = \"y*(x^3 + x*y^(2+2*r+1) + y^(3+3*r+1))\";
310                        f.Restrictions = \"(r>=0)&&(deg(b)<=(r))\";";
311                        write(l, "Z[1,6r+11]", s);
312               
313        //* Z[k,12k+6r+1]       
314                s = "singseries f;
315                f.Series = \"Z[k,12k+6r+1]\";
316                f.Modality = \"3*k+r-2\";
317                f.Corank = \"2\";
318                f.MilnorNumber = \"12*k+6r+1\";
319                f.MilnorCode = \"1,1,2k-1,2k-1+j,2k+3+6*r-2*j\";
320                f.NormalForm = \"(x + a(y)*y^k)*(x^3 + b(y)*x*y^(2*k+2*r+2) +
321                 y^(3*k+3*r+2))\";
322                f.SpecialForm = \"(x + y^k)*(x^3 + x*y^(2*k+2*r+2) + y^(3*k+3*r+2))\";
323                f.Restrictions = \" (k>1)&&(r>=0)&&(deg(a)<=(k-2))&&(jet(a,0)!=0)&&
324                (jet(b,0)!=0)&&(deg(b)<=(2*k+r-2))\";";
325                write(l, "Z[k,12k+6r+1]", s);
326               
327        //* Z[1,6r+13]
328                s = "singseries f;
329                f.Series = \"Z[1,6r+13]\";
330                f.Modality = \"1+r\";
331                f.Corank = \"2\";
332                f.MilnorNumber = \"6r+13\";
333                f.MilnorCode = \"1,1,1,1+j,5+6*r-2*j\";
334                f.NormalForm = \"y*(x^3 + b(y)*x*y^(2*r+4) + y^(3*r+5))\";
335                f.SpecialForm = \"y*(x^3 + x*y^(2*r+4) + y^(3*r+5))\";
336                f.Restrictions = \" (r>=0)&&(deg(b)<=(r))\";";
337                write(l, "Z[1,6r+13]", s);
338               
339        //* Z[k,12k+6r]
340                s = "singseries f;
341                f.Series = \"Z[k,12k+6r]\";
342                f.Modality = \"3*k+r-2\";
343                f.Corank = \"2\";
344                f.MilnorNumber = \"12*k+6r\";
345                f.MilnorCode = \"1,1,2k-1,2k-1+2*r,2k+2*r\";
346                f.NormalForm = \"(x + a(y)*y^k)*(x^3 + x*y^(2*k+2*r+1) +
347                b(y)* y^(3*k+3*r+2))\";
348                f.SpecialForm = \"(x + y^k)*(x^3 + x*y^(2*k+2*r+1) +y^(3*k+3*r+2))\";
349                f.Restrictions = \" (k>1)&&(r>=0)&&(deg(a)<=(k-2))&&(jet(a,0)!=0)&&
350                (jet(b,0)!=0)&&(deg(b)<=(2*k+r-2))\";";
351                write(l, "Z[k,12k+6r]", s);
352               
353               
354        //* Z[1,6r+12]
355                s = "singseries f;
356                f.Series = \"Z[1,6r+12]\";
357                f.Modality = \"1+r\";
358                f.Corank = \"2\";
359                f.MilnorNumber = \"6*r+12\";
360                f.MilnorCode = \"1,1,1,1+2*r,2+2*r\";
361                f.NormalForm = \"y*(x^3 + x*y^(2*r+3) +b(y)* y^(3*r+5))\";
362                f.SpecialForm = \"y*(x^3 + x*y^(2*r+3) +y^(3*r+5))\";
363                f.Restrictions = \"(r>=0)&&(deg(b)<=(r))\";";
364                write(l, "Z[1,6r+12]", s);
365               
366               
367        //* W[k,r]
368                s = "singseries f;
369                f.Series = \"W[k,r]\";
370                f.Modality = \"3*k-1\";
371                f.Corank = \"2\";
372                f.MilnorNumber = \"12*k+3+r\";
373                f.MilnorCode = \"1,1,2k,2k,2k+r\";
374                f.NormalForm = \"x4+a(y)*x^3*y^(k+1)+x^2*y^(2*k+1)+b(y)*y^(4*k+2+r) \";
375                f.SpecialForm = \"x4+x^2*y^(2*k+1)+y^(4*k+2+r) \";
376                f.Restrictions = \"(k>=1)&&(r>0)&&(k>1||a==0)&&(deg(a)<=(k-2))&&
377                (jet(b,0)!=0)&&(deg(b)<=(2*k-1))\";";
378                write(l, "W[k,r]", s);
379
380        //* W[k,0]
381                s = "singseries f;
382                f.Series = \"W[k,0]\";
383                f.Modality = \"3*k-1\";
384                f.Corank = \"2\";
385                f.MilnorNumber = \"12*k+3\";
386                f.MilnorCode = \"1,1,2k+j,2k-2-2*j+t,2k+6+j+2*t\";
387                f.NormalForm = \"x4+b(y)*x2*y^(2*k+1)+a(y)*x*y^(3*k+2)+y^(4*k+2) \";
388                f.SpecialForm = \"x4+x2*y^(2*k+1)+y^(4*k+2) \";
389                f.Restrictions = \" (k>=1)&&(k>1||a==0)&&(deg(a)<=(k-2))&&
390                (jet(b,0)^2!=4)&&(deg(b)<=(2*k-1))\";";
391                write(l, "W[k,0]", s);
392
393        //* W[12k]
394                s = "singseries f;
395                f.Series = \"W[12k]\";
396                f.Modality = \"3*k-2\";
397                f.Corank = \"2\";
398                f.MilnorNumber = \"12*k\";
399                f.MilnorCode = \"1,1,2k+j,2k-3-2*j+t,2k+3+j-2*t\";
400                f.NormalForm = \"x4+a(y)*x*y^(3*k+1)+c(y)*x^2*y^(2*k+1)+y^(4*k+1)\";
401                f.SpecialForm = \"x4+x^2*y^(2*k+1)+y^(4*k+1)\";
402                f.Restrictions = \"(k>=1)&&(k>1||a==0)&&(deg(a)<=(k-2))&&
403                (deg(c)<=(2*k-2))\";";
404                write(l, "W[12k]", s);
405               
406        //* W[12k+1]
407                s = "singseries f;
408                f.Series = \"W[12k+1]\";
409                f.Modality = \"3*k-2\";
410                f.Corank = \"2\";
411                f.MilnorNumber = \"12*k+1\";
412                f.MilnorCode = \"1,1,2k+j,2k-1-2*j,2k+j\";
413                f.NormalForm = \"x4+x*y^(3*k+1)+a(y)*x^2*y^(2*k+1)+c(y)*y^(4*k+2) \";
414                f.SpecialForm = \"x4+x*y^(3*k+1)+y^(4*k+2) \";
415                f.Restrictions = \"(k>=1)&&(k>1||a==0)&&(deg(a)<=(k-2))&&
416                (deg(c)<=(2*k-2))\";";
417                write(l, "W[12k+1]", s);
418
419        //* W[12k+5]
420                s = "singseries f;
421                f.Series = \"W[12k+5]\";
422                f.Modality = \"3*k-1\";
423                f.Corank = \"2\";
424                f.MilnorNumber = \"12*k+5\";
425                f.MilnorCode = \"1,1,2k+j,2k+1-2*j,2k+j\";
426                f.NormalForm = \"x4+x*y^(3*k+2)+a(y)*x^2*y^(2*k+2)+b(y)*y^(4*k+3) \";
427                f.SpecialForm = \"x4+x*y^(3*k+2)+y^(4*k+3) \";
428                f.Restrictions = \"(k>=1)&&(k>1||a==0)&&(deg(a)<=(k-2))&&
429                (deg(b)<=(2*k-1))\";";
430                write(l, "W[12k+5]", s);
431               
432        //* W[12k+6]
433                s = "singseries f;
434                f.Series = \"W[12k+6]\";
435                f.Modality = \"3*k-1\";
436                f.Corank = \"2\";
437                f.MilnorNumber = \"12*k+6\";
438                f.MilnorCode = \"1,1,2k+j,2k-3-2*j+t,2k+9+j-2*t\";
439                f.NormalForm = \"x4+a(y)*x*y^(3*k+3)+b(y)*x^2*y^(2*k+2)+y^(4*k+3) \";
440                f.SpecialForm = \"x4+x^2*y^(2*k+2)+y^(4*k+3) \";
441                f.Restrictions = \"(k>=1)&&(k>1||a==0)&&(deg(a)<=(k-2))&&
442                (deg(b)<=(2*k-1))\";";
443                write(l, "W[12k+6]", s);
444               
445        //* W#[k,2r]
446                s = "singseries f;
447                f.Series = \"W#[k,2r]\";
448                f.Modality = \"3*k-1\";
449                f.Corank = \"2\";
450                f.MilnorNumber = \"12*k+3+2*r\";
451                f.MilnorCode = \"1,1,2k,2k+r,2k\";
452                f.NormalForm = \"(x2+y^(2*k+1))^2+b(y)*x^2*y^(2*k+1+r)+
453                a(y)*x*y^(3*k+2+r) \";
454                f.SpecialForm = \"(x2+y^(2*k+1))^2+x^2*y^(2*k+1+r) \";
455                f.Restrictions = \"(k>=1)&&(r>0)&&(k>1||a==0)&&(deg(a)<=(k-2))&&
456                (jet(b,0)!=0)&&(deg(b)<=(2*k-1))\";";
457                write(l, "W#[k,2r]", s);       
458
459        //* W#[k,2r-1]
460                s = "singseries f;
461                f.Series = \"W#[k,2r-1]\";
462                f.Modality = \"3*k-1\";
463                f.Corank = \"2\";
464                f.MilnorNumber = \"12*k+2+2*r\";
465                f.MilnorCode = \"1,1,2k,2k-3+j,2*k+5+2*r-2*j\";
466                f.NormalForm = \"(x2+y^(2*k+1))^2+b(y)*x*y^(3*k+1+r)+
467                a(y)*y^(4*k+2+r)\";
468                f.SpecialForm = \"(x2+y^(2*k+1))^2+x*y^(3*k+1+r)\";
469                f.Restrictions = \"(k>=1)&&(r>0)&&(k>1||a==0)&&(deg(a)<=(k-2))
470                &&(jet(b,0)!=0)&&(deg(b)<=(2*k-1))\";";
471                write(l, "W#[k,2r-1]", s);             
472               
473 write(l,"VERSION", "1.0");
474  close(l);
475}
476
477//=============================================================================
478static proc read_singularity_db( string typ )
479{
480  string DBMPATH=system("getenv","DBMPATH");
481  string DatabasePath, Database, S, Text, Tp;
482
483  if( DBMPATH != "" ) { DatabasePath = DBMPATH+"/Singularitylist"; }
484  else { DatabasePath = "Singularitylist"; }
485  Database="DBM: ",DatabasePath;
486       
487  link dbmLink=Database;
488  Tp = read(dbmLink, typ);
489        return(Tp);
490
491}
Note: See TracBrowser for help on using the repository browser.