[59a166] | 1 | // |
---|
| 2 | // test script for bareiss command |
---|
| 3 | // |
---|
[728478] | 4 | LIB "tst.lib"; |
---|
| 5 | tst_init(); |
---|
| 6 | |
---|
[59a166] | 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; |
---|
[6d1466] | 13 | vector vdet=mm1[1][3]; |
---|
| 14 | poly pdet=det(m1); |
---|
| 15 | if(leadcoef(pdet)!=leadcoef(vdet)) |
---|
[59a166] | 16 | { |
---|
[6d1466] | 17 | vdet+pdet*gen(3); |
---|
[59a166] | 18 | } |
---|
[6d1466] | 19 | else |
---|
| 20 | { |
---|
| 21 | "error"; |
---|
| 22 | vdet-pdet*gen(3); |
---|
| 23 | } |
---|
| 24 | kill r; |
---|
[59a166] | 25 | "------------------------------------"; |
---|
| 26 | // |
---|
[6d1466] | 27 | ring r = 0,(x,y,z),(c,dp); |
---|
[59a166] | 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; |
---|
[6d1466] | 29 | module x2=m2; |
---|
| 30 | list mm2=bareiss(x2); |
---|
| 31 | mm2; |
---|
| 32 | x2=transpose(m2); |
---|
| 33 | mm2=bareiss(x2); |
---|
| 34 | mm2; |
---|
| 35 | kill r; |
---|
[59a166] | 36 | "------------------------------------"; |
---|
| 37 | // |
---|
[6d1466] | 38 | ring r = 0,(x,y,z),(c,lp); |
---|
[59a166] | 39 | matrix m3[3][4]=xy,0,x2z,1,z2y,y2z21,0,1,zx3,1,0,z3y3; |
---|
[6d1466] | 40 | matrix m33=transpose(m3); |
---|
| 41 | list mm3=bareiss(m33); |
---|
[59a166] | 42 | mm3; |
---|
[6d1466] | 43 | mm3=bareiss(m3); |
---|
[59a166] | 44 | print(mm3[1]); |
---|
[6d1466] | 45 | kill r; |
---|
[59a166] | 46 | "-------------------------------------"; |
---|
[6d1466] | 47 | // |
---|
| 48 | ring r=0,(x,y,z),(c,dp); |
---|
[59a166] | 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; |
---|
[6d1466] | 59 | print(m4); |
---|
[59a166] | 60 | list mm4=bareiss(m4); |
---|
| 61 | mm4; |
---|
[6d1466] | 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 | } |
---|
[59a166] | 73 | "---------------------------------------"; |
---|
| 74 | // |
---|
| 75 | matrix m5[3][2]=s8,s7,s9,s6,s5,0; |
---|
| 76 | list mm5=bareiss(m5); |
---|
| 77 | print(mm5[1]); |
---|
[6d1466] | 78 | kill r; |
---|
[59a166] | 79 | "-------------------------------------"; |
---|
[6d1466] | 80 | int n=5; |
---|
| 81 | int nn=n^2; |
---|
| 82 | ring r1=0,(x(1..nn)),dp; |
---|
| 83 | matrix m6[n][n]=maxideal(1); |
---|
[59a166] | 84 | list mm6=bareiss(m6); |
---|
[6d1466] | 85 | vector p1=mm6[1][n]; |
---|
[59a166] | 86 | poly p2=det(m6); |
---|
| 87 | if(leadcoef(p1)!=leadcoef(p2)) |
---|
| 88 | { |
---|
[6d1466] | 89 | "error"; |
---|
| 90 | p1+p2*gen(n); |
---|
[59a166] | 91 | } |
---|
| 92 | else |
---|
| 93 | { |
---|
[6d1466] | 94 | p1-p2*gen(n); |
---|
[59a166] | 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]); |
---|
[6d1466] | 112 | mm9[1][4]; |
---|
[59a166] | 113 | "------------------------------------"; |
---|
| 114 | matrix m11[5][5]=maxideal(1),maxideal(1); |
---|
| 115 | print(m11); |
---|
| 116 | list mm11=bareiss(m11); |
---|
[6d1466] | 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; |
---|
[59a166] | 129 | "-------------------------------------"; |
---|
[6d1466] | 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]; |
---|
[46976a6] | 158 | tst_status(1);$ |
---|