source: git/Tst/Long/primitiv_l.tst @ ad3dfe

spielwiese
Last change on this file since ad3dfe was 766807, checked in by Hans Schönemann <hannes@…>, 19 years ago
*hannes: new libs git-svn-id: file:///usr/local/Singular/svn/trunk@7854 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.0 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+";");
19ideal v=phi(j)[1],phi(j)[2]^2-2,phi(j)[3]^2-3;
20v;
21if (size(v)>0)
22  { "ERROR!!! Result of primitive(i) is not a primitive element!"; }
23// else minpoly(a)=0, g_1(a) is squareroot of 2, g_2(a) is squareroot of 3
24// as it should be
25setring r;
26primitive_extra(i);
27i=x2-3,y2-x;
28primitive(i);
29primitive_extra(i);
30kill r;
31ring r=0,(x(0..3)),lp;
32int zeit=timer;
33ideal i=x(0)^2-2,x(1)^2-3,x(2)^3-x(0)^2+x(1),x(3)^2-x(2);
34primitive(i);
35tst_ignore(timer-zeit,"time");
36kill r;
37ring r=0,(x,y),dp;
38poly f1=39x7+37x6+11x5+48x4+30x3+30x2+14x+49;
39poly f2=43x5y2+8x2y5+40x6+48y6+22x4y+7x2y3+7x2y2+16x3+49x2+x+12y+40;
40zeit=timer;
41ideal o=primitive(ideal(f1,f2));
42tst_ignore(timer-zeit,"time");
43tst_ignore(kmemory(),"memory");
44"size of the result :",size(string(o)),"characters";
45zeit=timer;
46o=primitive_extra(ideal(f1,f2));
47tst_ignore(timer-zeit,"time");
48tst_ignore(kmemory(),"memory");
49"size of the result :",size(string(o)),"characters";
50kill r;
51ring r=3,(x,y,z),dp;
52ideal i=x2+1,y3-y-1,z2+yz-1;
53primitive(i);
54primitive_extra(i);
55primitive_extra(ideal(i[1],i[2]));
56kill r;
57// ------------ test of splitring: -------------------
58ring r=2,a,Dp;
59def rr=splitring(a3+a+1);
60setring rr; basering;
61kill r,rr;
62ring r=7,(a,b,c,d,e,n,o,p),Ds;
63def rr=splitring(a2+2);
64kill r,rr;
65ring r=0,(x,y),ds;
66def R1=splitring(x2-5);
67setring R1; basering;
68def R2=splitring(x2-7,a);
69setring R2;
70erg[1]^2;
71basering;
72def R3=splitring(y2+1,a);
73setring R3; basering;
74erg;
75kill r,R1,R2,R3;
76ring r=(2003,j),(a,b,c,d),dp;
77minpoly=j2-2;
78def R1=splitring(b3+b2+b-2,list(a,b,c,d,j));
79setring R1; erg;
80number(erg[5])^2;
81factorize(b3+b2+b-2);
82def R2=splitring(c2-2j,list(a2+ja,j,erg[5]));
83setring R2;
84erg[3]^2;
85kill R1,R2,r;
86tst_status(1); $
Note: See TracBrowser for help on using the repository browser.