source: git/Tst/Long/primitiv_l.tst @ 1ebec3

spielwiese
Last change on this file since 1ebec3 was a07f76, checked in by Martin Lee <martinlee84@…>, 11 years ago
fix: map needs to be set again
  • Property mode set to 100644
File size: 2.1 KB
Line 
1// File: primitiv_l.tst
2// Intensive tests for primitiv lib
3LIB "tst.lib";
4tst_init();
5LIB "primitiv.lib";
6// ------------ test of primitive and primitive_extra: -------------------
7printlevel=3;
8ring r=0,x,dp;
9primitive(ideal(x2+1));
10kill r;
11ring r=0,(x,y),dp;
12ideal i=x2-2,y2-3;
13ideal j=primitive(i);
14factorize(j[1]);
15ring r1=(0,a),x,lp;
16map phi=r,x,a;
17string s=string(phi(j)[1]);
18execute("minpoly="+s+";");
19if (!defined(phi))
20{
21  map phi=r,x,a;
22}
23ideal v=phi(j)[1],phi(j)[2]^2-2,phi(j)[3]^2-3;
24v;
25if (size(v)>0)
26  { "ERROR!!! Result of primitive(i) is not a primitive element!"; }
27// else minpoly(a)=0, g_1(a) is squareroot of 2, g_2(a) is squareroot of 3
28// as it should be
29setring r;
30primitive_extra(i);
31i=x2-3,y2-x;
32primitive(i);
33primitive_extra(i);
34kill r;
35ring r=0,(x(0..3)),lp;
36int zeit=timer;
37ideal i=x(0)^2-2,x(1)^2-3,x(2)^3-x(0)^2+x(1),x(3)^2-x(2);
38primitive(i);
39tst_ignore(timer-zeit,"time");
40kill r;
41ring r=0,(x,y),dp;
42poly f1=39x7+37x6+11x5+48x4+30x3+30x2+14x+49;
43poly f2=43x5y2+8x2y5+40x6+48y6+22x4y+7x2y3+7x2y2+16x3+49x2+x+12y+40;
44zeit=timer;
45ideal o=primitive(ideal(f1,f2));
46tst_ignore(timer-zeit,"time");
47tst_ignore(kmemory(),"memory");
48"size of the result :",size(string(o)),"characters";
49zeit=timer;
50o=primitive_extra(ideal(f1,f2));
51tst_ignore(timer-zeit,"time");
52tst_ignore(kmemory(),"memory");
53"size of the result :",size(string(o)),"characters";
54kill r;
55ring r=3,(x,y,z),dp;
56ideal i=x2+1,y3-y-1,z2+yz-1;
57primitive(i);
58primitive_extra(i);
59primitive_extra(ideal(i[1],i[2]));
60kill r;
61// ------------ test of splitring: -------------------
62ring r=2,a,Dp;
63def rr=splitring(a3+a+1);
64setring rr; basering;
65kill r,rr;
66ring r=7,(a,b,c,d,e,n,o,p),Ds;
67def rr=splitring(a2+2);
68kill r,rr;
69ring r=0,(x,y),ds;
70def R1=splitring(x2-5);
71setring R1; basering;
72def R2=splitring(x2-7,a);
73setring R2;
74erg[1]^2;
75basering;
76def R3=splitring(y2+1,a);
77setring R3; basering;
78erg;
79kill r,R1,R2,R3;
80ring r=(2003,j),(a,b,c,d),dp;
81minpoly=j2-2;
82def R1=splitring(b3+b2+b-2,list(a,b,c,d,j));
83setring R1; erg;
84number(erg[5])^2;
85factorize(b3+b2+b-2);
86def R2=splitring(c2-2j,list(a2+ja,j,erg[5]));
87setring R2;
88erg[3]^2;
89kill R1,R2,r;
90tst_status(1); $
Note: See TracBrowser for help on using the repository browser.