source: git/Singular/LIB/makedbm.lib @ d2b2a7

spielwiese
Last change on this file since d2b2a7 was d2b2a7, checked in by Kai Krüger <krueger@…>, 26 years ago
Modified Files: libparse.l utils.cc LIB/classify.lib LIB/deform.lib LIB/elim.lib LIB/factor.lib LIB/fastsolv.lib LIB/finvar.lib LIB/general.lib LIB/hnoether.lib LIB/homolog.lib LIB/inout.lib LIB/invar.lib LIB/makedbm.lib LIB/matrix.lib LIB/normal.lib LIB/poly.lib LIB/presolve.lib LIB/primdec.lib LIB/primitiv.lib LIB/random.lib LIB/ring.lib LIB/sing.lib LIB/standard.lib LIB/tex.lib LIB/tst.lib Changed help section o procedures to have an quoted help-string between proc-definition and proc-body. git-svn-id: file:///usr/local/Singular/svn/trunk@1601 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 10.4 KB
Line 
1// $Id: makedbm.lib,v 1.7 1998-05-05 11:55:31 krueger Exp $
2//=========================================================================
3//
4// Please send bugs and comments to krueger@mathematik.uni-kl.de
5//
6//=============================================================================
7
8version="$Id: makedbm.lib,v 1.7 1998-05-05 11:55:31 krueger Exp $";
9info="
10LIBRARY:  makedbm.lib     some usefull tools needed by the Arnold-Classifier.
11
12   dbm_read(l);          read all entries from a DBM-databaes pointed by l
13   dbm_getnext(l);       read next entry from a DBM-databaes pointed by l
14   create_sing_dbm();
15   read_sing_dbm();
16";
17
18//=============================================================================
19
20proc makedbm_init()
21{
22  string s;
23  link l="DBM:r NFlist";
24  s = read(l,"VERSION");
25  if (s == "" ) {
26    "Need to create database...";
27    create_sing_dbm();
28  }
29  close(l);
30  l="DBM:r NFlist";
31  s = read(l,"VERSION");
32  "Creation done. Current version:", s;
33}
34//=============================================================================
35
36proc dbm_read (link l)
37{
38  string s="";
39  s=read(l);
40  while( s != "" )
41  {
42    s,"=",read(l,s);
43    s=read(l);
44  }
45}
46
47//=============================================================================
48proc dbm_getnext (link l)
49{
50  string s="";
51  s=read(l);
52  if( s != "" ) { s,"=",read(l,s); }
53}
54
55//=============================================================================
56proc create_sing_dbm
57{
58// DatenFormat: crk=#; Mu=#; MlrCd=#;
59  string s;
60  link l="DBM:rw NFlist";
61
62  write(l, "A[k]", "x^(k+1)");
63  s ="crk=1; Mu=k; MlnCd=k;";
64  write(l, "I_A[k]", s);
65
66  write(l, "D[k]", "x2y+y^(k-1)");
67  s = "crk=2; Mu=k; MlnCd=1,1,k-3";
68  write(l, "I_D[k]", s);
69
70  write(l, "E[6k]", "x3+y^(3*k+1)+a*x*(y^(2*k+1))");
71  s = "crk=2; Mu=6*k; MlnCd=1,2*k,2*k-1";
72  write(l, "I_E[6k]", s);
73
74  write(l, "E[6k+1]", "x3+x*(y^(2*k+1))+a*(y^(3*k+2))");
75  write(l, "E[6k+2]", "x3+y^(3*k+2)+a*x*(y^(2*k+2))");
76  write(l, "J[k,0]", "x3+b*x^2*y^k+y^(3*k)+c*x*y^(2*k+1)");
77  write(l, "J[k,r]", "x3+x2*y^k+a*y^(3*k+r)");
78  write(l, "X[1,0]", "x4+a*x2y2+y4");
79  write(l, "X[1,r]", "x4+x2y2+a*y^(4+r)");
80  write(l, "X[k,0]", "x4+b*x^3*y^k+a*x^2*y^(2*k) + x*y^(3*k)");
81  write(l, "X[k,r]", "x4+a*x^3*y^k+x^2*y^(2*k)+b*(y^(4*k+r))");
82  write(l, "W[12k]", "x4+y^(4*k+1)+a*x*(y^(3*k+1))+c*x^2*(y^(2*k+1))");
83  write(l, "W[12k+1]", "x4+x*(y^(3*k+1))+a*x^2*(y^(2*k+1))+c*y^(4*k+2)");
84  write(l, "W[12k+5]", "x4+x*(y^(3*k+2))+a*x2*(y^(2*k+2))+b*y^(4*k+3)");
85  write(l, "W[12k+6]", "x4+y^(4*k+3)+a*x*(y^(3*k+3))+b*x2*(y^(2*k+2))");
86  write(l, "W[k,0]", "x4+b*x2*(y^(2*k+1))+a*x*(y^(3*k+2))+y^(4*k+2)");
87  write(l, "W[k,r]", "x4+a*x3*(y^(k+1))+x2*(y^(2*k+1))+b*y^(4*k+2+r)");
88  write(l, "W#[k,2r-1]", "(x2+y^(2*k+1))^2+b*x*(y^(3*k+1+r))+a*y^(4*k+2+r)");
89  write(l, "W#[k,2r]", "(x2+y^(2*k+1))^2+b*x2*(y^(2*k+1+r))+a*x*(y^(3*k+2+r))");
90  write(l, "Y[1,r,s]", "x^(4+r)+a*x2*(y2)+y^(4+s)");
91  write(l, "Y[k,r,s]", "((x+a*y^k)^2 + b*y^(2*k+s))*( x2 + y^(2*k+r))");
92  write(l, "Z[1,0]", "x3y + x2y3 + xy6 +y7");
93  write(l, "Z[1,r]", "x3y + x2*(y^3) + a*y^(7+r)");
94  write(l, "Z[k,r,s]", "(x2+a*x*(y^k)+b*y^(2*k+r))*(x2+y^(2*k+2*r+s))");
95  write(l, "Z[k,r,0]", "(x+a*(y^k))*(x3+d*x2*(y^(k+r))+c*x*(y^(2*k+2*r+1))+y^(3*k+3*r))");
96  write(l, "Z[k,12k+6r-1]", "(x+a*(y^k))*(x3+b*x*(y^(2*k+2*r+1))+y^(3*k+3*r+1))");
97  write(l, "Z[k,12k+6r]", "(x+a*(y^k))*(x3+x*(y^(2*k+2*r+1))+b*y^(3*k+3*r+2))");
98  write(l, "Z[k,12k+6r+1]", "(x+a*(y^k))*(x3+b*x*(y^(2*k+2*r+2))+y^(3*k+3*r+2))");
99  write(l, "Z[k,0]", "y*(x3+d*x2*(y^(k+1))+c*x*(y^(2*k+3))+y^(3*k+3))");
100  write(l, "Z[k,r]", "y*(x3+x^2*y^(k+1)+b*(y^(3*k+r+3)))");
101  write(l, "Z[6k+5]", "y*(x3+b*x*(y^(2*k+1))+y^(3*k+1))");
102  write(l, "Z[6k+6]", "y*(x3+x*(y^(2*k+1))+b*y^(3*k+2))");
103  write(l, "Z[6k+7]", "y*(x3+b*x*(y^(2*k+2))+y^(3*k+2))");
104  write(l, "Q[k,0]", "x3+z2y+b*x2*(y^k)+x*(y^(2*k))");
105  write(l, "Q[k,r]", "x3+z2y+x2*(y^k)+b*y^(3*k+r)");
106  write(l, "Q[6k+4]", "x3+z2y+y^(3*k+1)+b*x*(y^(2*k+1))");
107  write(l, "Q[6k+5]", "x3+z2y+x*(y^(2*k+1))+b*y^(3*k+2)");
108  write(l, "Q[6k+6]", "x3+z2y+y^(3*k+2)+b*x*(y^(2*k+2))");
109  write(l, "S[12k-1]", "x2z+z2y+y^(4*k)+a*x*(y^(3*k))+c*z*(y^(2*k+1))");
110  write(l, "S[12k]", "x2z+z2y+x*(y^(3*k))+c*y^(4*k+1)+a*z*(y^(2*k+1))");
111  write(l, "S[k,0]", "x2z+z2y+y^(4*k+1)+a*x*(y^(3*k+1))+b*z*(y^(2*k+1))");
112  write(l, "S[k,r]", "x2z+z2y+x2*(y^(2*k))+a*x3*(y^k)+b*y^(4*k+r+1)");
113  write(l, "S#[k,2r-1]", "x2z+z2y+z*(y^(2*k+1))+b*x*(y^(3*k+r))+a*(y^(4*k+r+1))");
114  write(l, "S#[k,2r]", "x2z+z2y+z*(y^(2*k+1))+b*x2*(y^(2*k+r))");
115  write(l, "S[12k+4]", "x2z+z2y+x*(y^(3*k+1))+a*z*(y^(2*k+2))+b*y^(4*k+2)");
116  write(l, "S[12k+5]", "x2z+z2y+y^(4*k+2)+a*x*(y^(3*k+2))+b*z*(y^(2*k+2))");
117  write(l, "U[12k]", "x3+z2x+y^(3*k+1)+a*x*(y^(2*k+1))+b*z*(y^(2*k+1))+d*x2*(y^(k+1))");
118  write(l, "U[k,2r-1]", "x3+z2x+x*(y^(2*k+1))+a*x2*(y^(k+1))+b*(y^(3*k+r+2))+c*z*(y^(2*k+r+1))");
119  write(l, "U[k,2r]", "x3+z2x+x*(y^(2*k+1))+a*x2*(y^(k+1))+b*z*(y^(2*k+r+1))+c*z2*(y^(k+r))");
120  write(l, "U[12k+4]", "x3+z2x+y^(3*k+2)+a*x*(y^(2*k+2))+b*z*(y^(2*k+2))+c*x2*(y^(k+1))");
121  write(l, "V[1,0]", "x2y+z4+a*z3y+b*z2y2+y3z");
122  write(l, "V[1,r]", "x2y+z4+b*z3y+z2y2+a*(y^(r+4))");
123  write(l, "V#[1,2r-1]", "x2y+z3y+a*z2y2+y4+b*x*(z^(r+2))");
124  write(l, "V#[1,2r]", "x2y+z3y+a*z2y2+y4+b*(z^(r+4))");
125  write(l, "T[k,r,s]", "x^k+y^r+z^s+xyz");
126
127  s = "crk=2; Mu=6*k+1; MlnCd=1,2*k,2*k";
128  write(l, "I_E[6k+1]", s);
129//"I_E[6k+1]=", read(l, "I_E[6k+1]");
130  s = "crk=2; Mu=6*k+2; MlnCd=1,2*k+1,2*k-1";
131  write(l, "I_E[6k+2]", s);
132  s = "crk=2; Mu=6*k-2; MlnCd=1,2*k-1,2*k-1";
133  write(l, "I_J[k,0]", s);
134//"I_J[k,0]=", read(l, "I_J[k,0]");
135  s = "crk=2; Mu=6*k-2+r; MlnCd=1,2*k-1,2*k-1+r";
136  write(l, "I_J[k,r]", s);
137//"I_J[k,r]=", read(l, "I_J[k,r]");
138  s = "crk=2; Mu=9; MlnCd=1,1,1,1,1";
139  write(l, "I_X[1,0]", s);
140  s = "crk=2; Mu=9+r; MlnCd=1,1,1,1,1+r";
141  write(l, "I_X[1,r]", s);
142  s = "crk=2; Mu=12*k-3; MlnCd=1,1,2*k-1,2*k-1,2*k-1";
143  write(l, "I_X[k,0]", s);
144  s = "crk=2; Mu=12*k-3+r; MlnCd=1,1,2*k-1,2*k-1,2*k-1+r";
145  write(l, "I_X[k,r]", s);
146  s = "crk=2; Mu=12*k;";
147  write(l, "I_W[12k]", s);
148  s = "crk=2; Mu=12*k+1;";
149  write(l, "I_W[12k+1]", s);
150  s = "crk=2; Mu=12*k+5;";
151  write(l, "I_W[12k+5]", s);
152  s = "crk=2; Mu=12*k+6;";
153  write(l, "I_W[12k+6]", s);
154  s = "crk=2; Mu=12*k+3;";
155  write(l, "I_W[k,0]", s);
156  s = "crk=2; Mu=12*k+3+r;";
157  write(l, "I_W[k,r]", s);
158  s = "crk=2; Mu=12*k+2+2*r;";
159  write(l, "I_W#[k,2r-1]", s);
160  s = "crk=2; Mu=12*k+3+2*r;";
161  write(l, "I_W#[k,2r]", s);
162  s = "crk=2; Mu=9+r+s;";
163  write(l, "I_Y[1,r,s]", s);
164  s = "crk=2; Mu=12*k-3+r+s;";
165  write(l, "I_Y[k,r,s]", s);
166  s = "crk=2; Mu=15;";
167  write(l, "I_Z[1,0]", s);
168  s = "crk=2; Mu=15+r;";
169  write(l, "I_Z[1,r]", s);
170  s = "crk=2; Mu=9+6*k+r;";
171  write(l, "I_Z[k,r]", s);
172  s = "crk=2; Mu=12*k+6*r-3;";
173  write(l, "I_Z[k,r,0]", s);
174  s = "crk=2; Mu=12*k+6*r+s-3;";
175  write(l, "I_Z[k,r,s]", s);
176  s = "crk=2; Mu=12*k+6*r-1;";
177  write(l, "I_Z[k,12k+6r-1]", s);
178  s = "crk=2; Mu=12*k+6*r;";
179  write(l, "I_Z[k,12k+6r]", s);
180  s = "crk=2; Mu=12*k+6*r+1;";
181  write(l, "I_Z[k,12k+6r+1]", s);
182  s = "crk=2; Mu=9+6*k;";
183  write(l, "I_Z[k,0]", s);
184  s = "crk=2; Mu=6*(r+1)-1;";
185  write(l, "I_Z[6k+5]", s);
186  s = "crk=2; Mu=6*(r+1);";
187  write(l, "I_Z[6k+6]", s);
188  s = "crk=2; Mu=6*(r+1)+1;";
189  write(l, "I_Z[6k+7]", s);
190  s = "crk=3; Mu=6*k+2;";
191  write(l, "I_Q[k,0]", s);
192  s = "crk=3; Mu=6*k+2+r;";
193  write(l, "I_Q[k,r]", s);
194  s = "crk=3; Mu=6*k+4;";
195  write(l, "I_Q[6k+4]", s);
196  s = "crk=3; Mu=6*k+5;";
197  write(l, "I_Q[6k+5]", s);
198  s = "crk=3; Mu=6*k+6;";
199  write(l, "I_Q[6k+6]", s);
200  s = "crk=3; Mu=12*k-1;";
201  write(l, "I_S[12k-1]", s);
202  s = "crk=3; Mu=12*k;";
203  write(l, "I_S[12k]", s);
204  s = "crk=3; Mu=12*k+2;";
205  write(l, "I_S[k,0]", s);
206  s = "crk=3; Mu=12*k+2+r;";
207  write(l, "I_S[k,r]", s);
208  s = "crk=3; Mu=12*k+2*r+1;";
209  write(l, "I_S#[k,2r-1]", s);
210  s = "crk=3; Mu=12*k+2*r+2;";
211  write(l, "I_S#[k,2r]", s);
212  s = "crk=3; Mu=12*k+4;";
213  write(l, "I_S[12k+4]", s);
214  s = "crk=3; Mu=12*k+5;";
215  write(l, "I_S[12k+5]", s);
216  s = "crk=3; Mu=12*k;";
217  write(l, "I_U[12k]", s);
218  s = "crk=3; Mu=12*k+4;";
219  write(l, "I_U[12k+4]", s);
220  s = "crk=3; Mu=12*k+1+2*r;";
221  write(l, "I_U[k,2r-1]", s);
222  s = "crk=3; Mu=12*k+2+2*r;";
223  write(l, "I_U[k,2r]", s);
224  s = "crk=3; Mu=15;";
225  write(l, "I_V[1,0]", s);
226  s = "crk=3; Mu=15+r;";
227  write(l, "I_V[1,r]", s);
228  s = "crk=3; Mu=14+2*r;";
229  write(l, "I_V#[1,2r-1]", s);
230  s = "crk=3; Mu=15+2*r;";
231  write(l, "I_V#[1,2r]", s);
232  s = "crk=3; Mu=0;";
233  write(l, "I_T[k,r,s]", s);
234  write(l,"VERSION", "1.0");
235  close(l);
236}
237
238proc read_sing_dbm
239{
240  link l="DBM: NFlist";
241  "A[k]     = "+read(l, "A[k]");
242  "D[k]     = "+read(l, "D[k]");
243  "E[6k]    = "+read(l, "E[6k]");
244  "E[6k+1]  = "+read(l, "E[6k+1]");
245  "E[6k+2]  = "+read(l, "E[6k+2]");
246  "J[k,0]   = "+read(l, "J[k,0]");
247  "J[k,r]   = "+read(l, "J[k,r]");
248  "X[1,0]   = "+read(l, "X[1,0]");
249  "X[1,r]   = "+read(l, "X[1,r]");
250  "X[k,0]   = "+read(l, "X[k,0]");
251  "X[k,r]   = "+read(l, "X[k,r]");
252  "W[12k]   = "+read(l, "W[12k]");
253  "W[12k+1] = "+read(l, "W[12k+1]");
254  "W[12k+5] = "+read(l, "W[12k+5]");
255  "W[12k+6] = "+read(l, "W[12k+6]");
256  "W[k,0]   = "+read(l, "W[k,0]");
257  "W[k,r]   = "+read(l, "W[k,r]");
258  "W#[k,2r-1]   = "+read(l, "W#[k,2r-1]");
259  "W#[k,2r] = "+read(l, "W#[k,2r]");
260  "Y[1,r,s] = "+read(l, "Y[1,r,s]");
261  "Y[k,r,s] = "+read(l, "Y[k,r,s]");
262  "Z[1,0]   = "+read(l, "Z[1,0]");
263  "Z[1,r]   = "+read(l, "Z[1,r]");
264  "Z[k,r,s] = "+read(l, "Z[k,r,s]");
265  "Z[k,r,0] = "+read(l, "Z[k,r,0]");
266  "Z[k,12k+6r-1]= "+read(l, "Z[k,12k+6r-1]");
267  "Z[k,12k+6r]  = "+read(l, "Z[k,12k+6r]");
268  "Z[k,12k+6r+1]= "+read(l, "Z[k,12k+6r+1]");
269  "Z[k,0]   = "+read(l, "Z[k,0]");
270  "Z[k,r]   = "+read(l, "Z[k,r]");
271  "Z[6k+5]  = "+read(l, "Z[6k+5]");
272  "Z[6k+6]  = "+read(l, "Z[6k+6]");
273  "Z[6k+7]  = "+read(l, "Z[6k+7]");
274  "Q[k,0]   = "+read(l, "Q[k,0]");
275  "Q[k,r]   = "+read(l, "Q[k,r]");
276  "Q[6k+4]  = "+read(l, "Q[6k+4]");
277  "Q[6k+5]  = "+read(l, "Q[6k+5]");
278  "Q[6k+6]  = "+read(l, "Q[6k+6]");
279  "S[12k-1] = "+read(l, "S[12k-1]");
280  "S[12k]   = "+read(l, "S[12k]");
281  "S[k,0]   = "+read(l, "S[k,0]");
282  "S[k,r]   = "+read(l, "S[k,r]");
283  "S#[k,2r-1]   = "+read(l, "S#[k,2r-1]");
284  "S#[k,2r] = "+read(l, "S#[k,2r]");
285  "S[12k+4] = "+read(l, "S[12k+4]");
286  "S[12k+5] = "+read(l, "S[12k+5]");
287  "U[12k]   = "+read(l, "U[12k]");
288  "U[k,2r-1]= "+read(l, "U[k,2r-1]");
289  "U[k,2r]  = "+read(l, "U[k,2r]");
290  "U[12k+4] = "+read(l, "U[12k+4]");
291  "V[1,0]   = "+read(l, "V[1,0]");
292  "V[1,r]   = "+read(l, "V[1,r]");
293  "V#[1,2r-1]   = "+read(l, "V#[1,2r-1]");
294  "V#[1,2r] = "+read(l, "V#[1,2r]");
295  "T[k,r,s] = "+read(l, "T[k,r,s]");
296  close(l);
297}
Note: See TracBrowser for help on using the repository browser.