1 | // |
---|
2 | // test script for bareiss command |
---|
3 | // |
---|
4 | LIB "tst.lib"; |
---|
5 | tst_init(); |
---|
6 | |
---|
7 | ring r = 32003,(x,y,z),dp; |
---|
8 | r; |
---|
9 | matrix m1[3][3]=x,2,3,2,3x,4,1,3,2x; |
---|
10 | m1; |
---|
11 | list mm1=bareiss(m1); |
---|
12 | mm1; |
---|
13 | vector vdet=mm1[1][3]; |
---|
14 | poly pdet=det(m1); |
---|
15 | if(leadcoef(pdet)!=leadcoef(vdet)) |
---|
16 | { |
---|
17 | vdet+pdet*gen(3); |
---|
18 | } |
---|
19 | else |
---|
20 | { |
---|
21 | "error"; |
---|
22 | vdet-pdet*gen(3); |
---|
23 | } |
---|
24 | kill r; |
---|
25 | "------------------------------------"; |
---|
26 | // |
---|
27 | ring r = 0,(x,y,z),(c,dp); |
---|
28 | matrix m2[5][6]=0,2,1,-3,12,-9,1,2,5,3,6,-1,2,4,10,6,12,-2,-3,2,1; |
---|
29 | module x2=m2; |
---|
30 | list mm2=bareiss(x2); |
---|
31 | mm2; |
---|
32 | x2=transpose(m2); |
---|
33 | mm2=bareiss(x2); |
---|
34 | mm2; |
---|
35 | kill r; |
---|
36 | "------------------------------------"; |
---|
37 | // |
---|
38 | ring r = 0,(x,y,z),(c,lp); |
---|
39 | matrix m3[3][4]=xy,0,x2z,1,z2y,y2z21,0,1,zx3,1,0,z3y3; |
---|
40 | matrix m33=transpose(m3); |
---|
41 | list mm3=bareiss(m33); |
---|
42 | mm3; |
---|
43 | mm3=bareiss(m3); |
---|
44 | print(mm3[1]); |
---|
45 | kill r; |
---|
46 | "-------------------------------------"; |
---|
47 | // |
---|
48 | ring r=0,(x,y,z),(c,dp); |
---|
49 | poly s1 = 2x3y2+23x5y+104xy6+56z2x; |
---|
50 | poly s2 = 3/2x3y2-2/3z6y4+12x2z4; |
---|
51 | poly s3 = -2x4y5+x4z5; |
---|
52 | poly s4 = 7/8x7y3z-1; |
---|
53 | poly s5 = 4x2y3-2x2y2; |
---|
54 | poly s6 = 1/2y2x3+4x2z2; |
---|
55 | poly s7 = x+y+z; |
---|
56 | poly s8 = x2+y2+z2; |
---|
57 | poly s9 = xz+xy+yz; |
---|
58 | matrix m4[3][3]=s1,0,s3,1,s5,0,s7,s8,s9; |
---|
59 | print(m4); |
---|
60 | list mm4=bareiss(m4); |
---|
61 | mm4; |
---|
62 | vector vdet=mm4[1][3]; |
---|
63 | poly pdet=det(m4); |
---|
64 | if(leadcoef(pdet)!=leadcoef(vdet)) |
---|
65 | { |
---|
66 | vdet+pdet*gen(3); |
---|
67 | } |
---|
68 | else |
---|
69 | { |
---|
70 | "error"; |
---|
71 | vdet-pdet*gen(3); |
---|
72 | } |
---|
73 | "---------------------------------------"; |
---|
74 | // |
---|
75 | matrix m5[3][2]=s8,s7,s9,s6,s5,0; |
---|
76 | list mm5=bareiss(m5); |
---|
77 | print(mm5[1]); |
---|
78 | kill r; |
---|
79 | "-------------------------------------"; |
---|
80 | int n=5; |
---|
81 | int nn=n^2; |
---|
82 | ring r1=0,(x(1..nn)),dp; |
---|
83 | matrix m6[n][n]=maxideal(1); |
---|
84 | list mm6=bareiss(m6); |
---|
85 | vector p1=mm6[1][n]; |
---|
86 | poly p2=det(m6); |
---|
87 | if(leadcoef(p1)!=leadcoef(p2)) |
---|
88 | { |
---|
89 | "error"; |
---|
90 | p1+p2*gen(n); |
---|
91 | } |
---|
92 | else |
---|
93 | { |
---|
94 | p1-p2*gen(n); |
---|
95 | } |
---|
96 | "--------------------------------------"; |
---|
97 | ring r2=0,(x(1..12)),ds; |
---|
98 | matrix m7[3][4]= maxideal(1); |
---|
99 | print(m7); |
---|
100 | list mm7=bareiss(m7); |
---|
101 | print(mm7[1]); |
---|
102 | "--------------------------------------"; |
---|
103 | matrix m8[4][3]=maxideal(1); |
---|
104 | print(m8); |
---|
105 | list mm8=bareiss(m8); |
---|
106 | print(mm8[1]); |
---|
107 | "--------------------------------------"; |
---|
108 | matrix m9[4][4]=maxideal(2); |
---|
109 | print(m9); |
---|
110 | list mm9=bareiss(m9); |
---|
111 | print(mm9[1]); |
---|
112 | mm9[1][4]; |
---|
113 | "------------------------------------"; |
---|
114 | matrix m11[5][5]=maxideal(1),maxideal(1); |
---|
115 | print(m11); |
---|
116 | list mm11=bareiss(m11); |
---|
117 | vector p1=mm11[1][5]; |
---|
118 | poly p2=det(m11); |
---|
119 | if(leadcoef(p1)!=leadcoef(p2)) |
---|
120 | { |
---|
121 | "error"; |
---|
122 | p1+p2*gen(5); |
---|
123 | } |
---|
124 | else |
---|
125 | { |
---|
126 | p1-p2*gen(5); |
---|
127 | } |
---|
128 | kill r1,r2; |
---|
129 | "-------------------------------------"; |
---|
130 | ring r=32003,(x,y,z),(c,dp); |
---|
131 | module m; |
---|
132 | int d=64; |
---|
133 | int b=8; |
---|
134 | int db=d-b; |
---|
135 | int i; |
---|
136 | for(i=d;i>0;i--) |
---|
137 | { |
---|
138 | m[i] = x*gen(i); |
---|
139 | } |
---|
140 | for(i=db;i>0;i--) |
---|
141 | { |
---|
142 | m[i]=m[i]+y*gen(i+b); |
---|
143 | } |
---|
144 | for(i=d;i>db;i--) |
---|
145 | { |
---|
146 | m[i]=m[i]+y*gen(i-db); |
---|
147 | } |
---|
148 | for(i=d;i>b;i--) |
---|
149 | { |
---|
150 | m[i]=m[i]+z*gen(i-b); |
---|
151 | } |
---|
152 | for(i=b;i>0;i--) |
---|
153 | { |
---|
154 | m[i]=m[i]+z*gen(i+db); |
---|
155 | } |
---|
156 | list rs=bareiss(m); |
---|
157 | rs[1][d]; |
---|
158 | tst_status(1);$ |
---|