source: git/Tst/Long/hnoether_l.tst @ 54f622b

spielwiese
Last change on this file since 54f622b was 6c2401, checked in by Martin Lamm <lamm@…>, 24 years ago
* added check for proc essdevelop & param git-svn-id: file:///usr/local/Singular/svn/trunk@4277 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 8.4 KB
Line 
1// File: hnoether_l.tst
2// Intensive tests for hnoether lib
3LIB "tst.lib";
4tst_init();
5LIB "hnoether.lib";
6// ------------ test of develop: -------------------
7ring zuklein=0,x,dp;
8develop(x2+2x3);
9ring r=0,(x,y),ds;
10develop(x2+2x+3+y);
11develop(0);
12develop(x2+y2);
13develop(x2+y+y2);
14develop(2x2+3xy+4xy3-x2y);
15poly p_1 = y2+x3;
16poly p_2 = p_1^2 + x5y;
17poly p_3 = p_2^2 + x^10 *p_1;
18poly p_4 = p_3^2 + x^20 *p_2;
19poly p_5 = p_4^2 + x^40 *p_3;
20param(develop(p_2));
21int z=timer;
22param(develop(p_4));
23tst_ignore(timer-z,"time");
24z=timer;
25list hne=develop(p_4,-1);
26tst_ignore(timer-z,"time");
27print(extdevelop(hne,4)[1]);
28tst_ignore(timer-z,"time");
29z=timer;
30print(develop(p_4,4)[1]);
31tst_ignore(timer-z,"time");
32poly heme=xy8+y8+x4y6+4x3y6+2x5y5+6x6y4+4x8y3+x10y2+4x9y2+2x11y+x12;
33hne=develop(heme);
34print(hne[1]);
35ring R=32003,(x,y),dp;
36poly p_5=imap(r,p_5);
37z=timer;
38print(develop(p_5,-1)[1]);
39tst_ignore(timer-z,"time");
40kill r;
41ring r=32003,(x,y),ls;
42poly p_5=fetch(R,p_5);
43z=timer;
44print(develop(p_5,-1)[1]);
45tst_ignore(timer-z,"time");
46kill r,R;
47ring r=2,(x,y,t),ds;
48poly f=y2+x7y+x9+x8;
49param(develop(f));
50kill r;
51ring r=7,(x,y),dp;
52poly f=2*(y-3x7)^14;
53develop(f+x12y14);
54develop(f+x7y14);
55kill r;
56ring r=(0,i),(a,b),dp;
57develop(a2+ib3);
58develop(a5+i2*a4+2i*a2b+b2);
59kill r;
60ring r=(0,i),(a,b),dp;
61minpoly=i2+1;
62develop(a2+ib3);
63develop(a5+i2*a4+2i*a2b+b2);
64develop((a+2b)^2+ib5);
65kill r;
66ring r=(7,i),(x,y),dp;
67develop(x+y);
68kill r;
69ring r=(7,i),(x,y),dp;
70minpoly=i2+1;
71develop(x);
72kill r;
73ring r=(49,k),(g,h),Dp;
74develop(g3+h4);
75develop((g2+2h)^7+h9);
76kill r;
77ring r=real,(x,y),dp;
78develop(x-y);
79kill r;
80ring r=(11,a,b,c),(d,e,f),ls;
81develop(ad2+a2b3e3+2bc4e4);
82kill r;
83
84// ------------ test of reddevelop: -------------------
85setring zuklein;
86reddevelop(x);
87ring r=7,(a,b),dp;
88reddevelop(a6+b4);
89kill HNEring,r;
90ring r=0,(x,y),dp;
91reddevelop(x6-y4);
92setring r;
93kill HNEring;
94reddevelop((x6-y4)*(y6-x4));
95setring r;kill HNEring;
96reddevelop((y-x2+x3)*(y-x2-x3));
97setring r;
98kill HNEring;
99reddevelop((x7-2x4y2+xy4-1y5)*(x7-4x4y2+4xy4-1y5));
100setring r;
101kill HNEring;
102reddevelop((y2-x3)*(y2-x3-x4));
103setring r;
104kill HNEring;
105reddevelop((y2-x3-x4)*(y2+x3+x4));
106setring r;
107kill HNEring;
108reddevelop(((x2-y)^2+x5)*((2x2-y)^2+x5));
109setring r;
110kill HNEring;
111reddevelop(x2+1+y3);
112setring r;
113kill HNEring;
114reddevelop(0);
115kill HNEring,r;
116ring r=(49,i),(x,y),dp;
117reddevelop(x);
118kill r;
119ring r=(7,i),(x,y),dp;
120list hne=reddevelop(x3+y6);
121hne;
122displayHNE(hne);
123setring r;
124kill HNEring;
125reddevelop((x2+y4)*(x+y4));
126setring r;
127kill HNEring;
128reddevelop(x2+y4);
129kill r,HNEring;
130ring r=(0,e),(x,y),lp;
131reddevelop(x2-y2);
132kill HNEring;
133setring r;
134reddevelop(x2-ey2);
135kill r,HNEring;
136ring r=(32003,i),(x,y),dp;
137minpoly=i2+1;
138reddevelop(x2+y4);
139HNEring;
140kill r,HNEring;
141ring r=(32003,i),(x,y),dp;
142minpoly=i2+i+1;
143reddevelop(x2+y4);
144basering;
145kill r,HNEring;
146ring r=real,(x,y),dp;
147reddevelop(x);
148kill r;
149ring r=(11,a,b,c),(d,e,f,g),dp;
150list hne=reddevelop(a2bd2+bce3+a2c3e4);
151hne;
152displayHNE(hne[1]);
153basering;
154kill r,HNEring;
155ring r=(11,a,b,c),(d,e),Ds;
156reddevelop(a2bd2+bce3+a2c3e4);
157kill r,HNEring;
158ring r=(11,a),(x,y,z),wp(1,2,3);
159minpoly=a2+4;
160list hne=reddevelop(x2+ay3);
161hne;
162displayHNE(hne[1]);
163basering;
164kill r,HNEring;
165ring r=(11,a),(x,y,z),wp(1,2,3);
166reddevelop(x2+ay3);
167kill HNEring,r;
168//--------------- examples with change to ring extension
169ring F2=2,(x,y),dp;
170reddevelop(y2+x7y+x9+x8);
171ring R=32003,(x,y),dp;
172kill HNEring;
173reddevelop((x6+(y-x)^4)*(y+x));
174setring R;
175kill HNEring;
176poly f=x19-4x18+3x17+8x16y-1x16-10x15y-4x14y2+6x14y+10x13y2-16x12y2+26x10y3-5x9y4-30x8y4+2x7y5+26x6y5-16x4y6+6x2y7-1y8;
177reddevelop(f);
178setring R;
179kill HNEring;
180f=x29-6x28+14x27+12x26y-18x26-56x25y-6x24y2+13x25+110x24y+84x23y2-5x24-108x23y-282x22y2-56x21y3+54x22y+396x21y2+390x20y3+14x19y4-266x20y2-840x19y3-310x18y4+790x18y3+1134x17y4+138x16y5-1575x16y4-1008x15y5-30x14y6+2220x14y5+588x13y6+2x12y7-2268x12y6-216x11y7+1692x10y7+45x9y8-915x8y8-4x7y9+350x6y9-90x4y10+14x2y11-1y12;
181list hne=reddevelop(f);
182displayHNE(hne);
183displayInvariants(hne);
184setring R;
185kill HNEring;
186reddevelop(xy6+x3y4-4x5y3+6x7y2-4x9y+x11);
187setring R; kill HNEring;
188reddevelop(y10-4x3y8+6x6y6-4x9y4+x12y2+x16);
189setring R; kill HNEring;
190reddevelop((y10-4x3y8+6x6y6-4x9y4+x12y2+x16)*(x6-y4));
191kill HNEring,R;
192//--------------- example with more than one ring change
193ring F3=3,(x,y),dp;
194list hne=reddevelop((x3-xy2+y3)*(x2+y2)*(x4-x3y+xy3+y4));
195map T; int i;
196poly f=(x3-xy2+y3)*(x2+y2)*(x4-x3y+xy3+y4);
197for (i=1; i<=size(hne); i++) {
198 T=basering,param(hne[i]);
199 T(f);
200}
201displayHNE(hne);
202displayHNE(hne[3],1);
203kill displayring;
204kill HNEring;
205kill i;
206setring F3;
207reddevelop((x3-xy4+y6)*(x2+y2)*(x4-x3y+xy3+y4));
208setring F3;
209kill HNEring;
210reddevelop((x3-xy4+y6)*(x2+y6)*(x4-x3y4+xy12+y16));
211kill HNEring;
212// -------------- bigger examples with timings
213ring r=0,(x,y),dp;
214poly p_1 = y2+x3;
215poly p_2 = p_1^2 + x5y;
216poly p_3 = p_2^2 + x^10 *p_1;
217poly p_4 = p_3^2 + x^20 *p_2;
218poly p_5 = p_4^2 + x^40 *p_3;
219z=timer;
220list hne=reddevelop(p_1*p_2*p_3*p_4);
221tst_ignore(timer-z,"time");
222tst_ignore(kmemory(),"memory");
223print(hne[3][1]);
224print(hne[4][1]);
225displayInvariants(hne);
226setring r;
227kill HNEring;
228z=timer;
229list hne=reddevelop(p_5);
230tst_ignore(timer-z,"time");
231tst_ignore(kmemory(),"memory");
232print(hne[1][1]);
233displayInvariants(hne);
234displayInvariants(hne[1]);
235kill HNEring;
236// ------------ test of extdevelop: -------------------
237setring r;
238list hne=develop(x2+y3+y4-y5,-1);
239show(extdevelop(hne,2));
240show(extdevelop(hne,4));
241show(extdevelop(hne,10));
242kill r;
243ring r=(49,i),(x,y),ls;
244list hne=develop((x2+iy3)^7+x15);
245show(extdevelop(hne,8));
246kill hne;
247// ------------ test of essdevelop: -------------------
248setring F3;
249list hne=essdevelop((x3-xy2+y3)*(x2+y2)*(x4-x3y+xy3+y4));
250displayHNE(hne);
251setring F3;
252kill HNEring;
253list hne=essdevelop(x2+y3+xy4);
254displayHNE(hne);
255setring r;
256kill HNEring;
257// ------------ test of HNdevelop: --------------------
258// list hne=HNdevelop((x2+iy3)^7+x15);  // laeuft derzeit (27.5.99) wegen einem
259// show(extdevelop(hne[1],8));          // Fehler in factorize endlos!
260list hne=HNdevelop((x2+iy3)^6+x15);     // Als Ersatz fuer die Zwischenzeit
261show(hne);
262kill r;
263ring r=(0,i),(a,b),dp;
264minpoly=i2+1;
265list hne=HNdevelop(a2+ib3-ia3b);
266show(hne);
267kill r;
268ring r=0,(x,y),dp;
269show(HNdevelop((x3+3x2y-xy4+y10)*(x3-x2y+y8)));
270// ------------ test of param: ------------------------
271setring r;
272param(develop(x+1+y2));
273param(develop(x2+y3));
274param(develop(y2+x3));
275param(develop(x+y2-y3));
276param(develop(x2+y3+y4));
277param(develop((x-2y3)^2+x3));
278param(develop(y+x2-y3));
279param(develop((y-2x3)^2+x7));
280param(develop((y-2x3)^2+x7),0);
281param(develop(x+y2-y3),0);
282param(develop(x2+y3+y4),"Fritz");
283param(develop(y2+x3+x4),x);
284z=timer;
285param(develop((y-2x3)^2+y5));
286tst_ignore(timer-z,"time");
287kill r;
288ring r=(27,j),(k,l,t),lp;
289list hne=develop((k3-jl)^6+l7,9);
290param(hne);
291// ------------ test of displayHNE: -------------------
292displayHNE(hne);
293kill r;
294ring r=3,(k,l,t),lp;
295list hne=develop((k3+l)^6+l7,9);
296displayHNE(hne);
297basering;
298displayHNE(hne,1);
299basering;
300kill displayring,r;
301ring r=0,(x,y),dp;
302displayHNE(develop(x));
303displayHNE(develop(y));
304displayHNE(develop(1));
305// ------------ test of displayInvariants: ------------
306list hne=reddevelop((x2+y3+y4)*(x+y2+y3-y4)*(x5+y7));
307displayInvariants(hne[1]);
308displayInvariants(hne[2]);
309displayInvariants(hne);
310kill HNEring;
311// ------------ test of is_irred: ---------------------
312setring r;
313is_irred(x);
314is_irred(x2);
315is_irred((x+y)*(1+x+y));  // one HNE
316is_irred((x+y)*(x+y+xy)); // one of two HNEs found
317is_irred(x2+y2);          // no HNE found
318is_irred(1+x+y);          // not a curve
319// ----------------------------------------------------------------------------
320// ------- test of invariants, intersection, stripHNE, puiseux2generators,  ---
321// -------         multiplicities, newtonpoly                               ---
322example invariants;
323setring r;
324list hne=reddevelop((x2-y3)*(x2+y3));
325intersection(hne[1],hne[2]);
326example stripHNE;
327puiseux2generators(intvec(3,7,15,31,63,127),intvec(2,2,2,2,2,2));
328setring r;
329multiplicities(develop(x5+y7));
330example newtonpoly;
331// ------- test of getnm, T_Transform, T1_Transform, T2_Transform, koeff, -----
332// ------------  redleit, squarefree, allsquarefree, referencepoly   ----------
333example getnm;
334T_Transform(y2+x3,1,2);
335T1_Transform(y-x2+x3,1,2);
336T2_Transform(y2+x3-x2y,-1,3,2,referencepoly(newtonpoly(y2+x3-x2y)));
337koeff(x2+2xy+3xy2-x2y-2y3,1,2);
338example redleit;
339example squarefree;
340ring R=(27,k),(x,y),dp;
341squarefree(x2);
342squarefree(y3);
343squarefree((x2+y)^3*(x-y)^2*(x+y));
344
345example allsquarefree;
346tst_status(1);$
Note: See TracBrowser for help on using the repository browser.