[ba3f63] | 1 | LIB "tst.lib"; |
---|
| 2 | tst_init(); |
---|
| 3 | |
---|
| 4 | LIB "modules.lib"; |
---|
| 5 | |
---|
| 6 | ring r; |
---|
| 7 | int n=4; |
---|
| 8 | id(n); |
---|
| 9 | kill r;kill n; |
---|
| 10 | |
---|
| 11 | ring r; |
---|
| 12 | int n=4; |
---|
| 13 | int m=3; |
---|
| 14 | zero(n,m); |
---|
| 15 | kill r;kill m; kill n; |
---|
| 16 | |
---|
| 17 | ring r; |
---|
| 18 | Deg(x); |
---|
| 19 | list l=2,2,2; |
---|
| 20 | SetDeg(l); |
---|
| 21 | Deg(x); |
---|
| 22 | kill r;kill l; |
---|
| 23 | |
---|
| 24 | ring r; |
---|
| 25 | matrix m[1][3]=x,y,z; |
---|
| 26 | Matrix M=m; |
---|
| 27 | Module N=coker(M); |
---|
| 28 | N; |
---|
| 29 | Resolution R = Res(N); |
---|
| 30 | R; |
---|
| 31 | kill r;kill M;kill N;kill R; |
---|
| 32 | |
---|
| 33 | ring r; |
---|
| 34 | int n=3; |
---|
| 35 | list l=1,2,3; |
---|
| 36 | freeModule(r,n,l); |
---|
| 37 | kill r;kill n;kill l; |
---|
| 38 | |
---|
| 39 | |
---|
| 40 | ring r; |
---|
| 41 | ideal i=x,y,z+x; |
---|
| 42 | i; |
---|
| 43 | Ideal I=i; |
---|
| 44 | I; |
---|
| 45 | kill r;kill i;kill I; |
---|
| 46 | |
---|
| 47 | ring r; |
---|
| 48 | matrix m[1][3]=x,y,z; |
---|
| 49 | Matrix M=m; |
---|
| 50 | Module N=coker(M); |
---|
| 51 | N; |
---|
| 52 | Resolution R = mRes(N); |
---|
| 53 | R; |
---|
| 54 | R.dd[2]; |
---|
| 55 | kill r;kill M;kill N;kill R; |
---|
| 56 | |
---|
| 57 | ring r; |
---|
| 58 | matrix m[1][3]=x,y,z; |
---|
| 59 | Matrix M=m; |
---|
| 60 | Module N=coker(M); |
---|
| 61 | N; |
---|
| 62 | Resolution R = sRes(N); |
---|
| 63 | R; |
---|
| 64 | R.dd[2]; |
---|
| 65 | kill r;kill M;kill N;kill R; |
---|
| 66 | |
---|
| 67 | ring r; |
---|
| 68 | matrix m[1][3]=x,y,z; |
---|
| 69 | Matrix M=m; |
---|
| 70 | Module N=coker(M); |
---|
| 71 | N; |
---|
| 72 | Resolution R = Res(N); |
---|
| 73 | R; |
---|
| 74 | R.dd[2]; |
---|
| 75 | kill r;kill M;kill N;kill R; |
---|
| 76 | |
---|
| 77 | ring r; |
---|
| 78 | matrix m[1][3]=x,y,z; |
---|
| 79 | Matrix M=m; |
---|
| 80 | Module N=coker(M); |
---|
| 81 | Resolution R=mRes(N); |
---|
| 82 | R; |
---|
| 83 | Betti(R); |
---|
| 84 | kill r;kill M;kill N;kill R; |
---|
| 85 | |
---|
| 86 | |
---|
| 87 | ring r; |
---|
| 88 | matrix m[2][2]=x,y3,z,xz; |
---|
| 89 | Matrix M=m; |
---|
| 90 | M; |
---|
| 91 | Target(M); |
---|
| 92 | kill r;kill M;kill m; |
---|
| 93 | |
---|
| 94 | ring r; |
---|
| 95 | matrix m[2][2]=x,y3,z,xz; |
---|
| 96 | Matrix M=m; |
---|
| 97 | M; |
---|
| 98 | Source(M); |
---|
| 99 | kill r;kill M;kill m; |
---|
| 100 | |
---|
| 101 | ring r; |
---|
| 102 | matrix m[2][2]=x,y3,z,xz; |
---|
| 103 | Matrix Ma=m; |
---|
| 104 | FreeModule M=Source(Ma); |
---|
| 105 | M; |
---|
| 106 | Degree(M); |
---|
| 107 | kill r;kill M;kill m; |
---|
| 108 | |
---|
| 109 | |
---|
| 110 | |
---|
| 111 | ring r; |
---|
| 112 | matrix m[2][2]=x,y2,z,xz; |
---|
| 113 | Matrix M=m; |
---|
| 114 | matrix n[2][3]=z2,xyz,x2y2,xy,x3,y4; |
---|
| 115 | Matrix N=n; |
---|
| 116 | M; |
---|
| 117 | N; |
---|
| 118 | subquotient(M,N); |
---|
| 119 | kill r;kill m;kill M;kill n;kill N; |
---|
| 120 | |
---|
| 121 | ring R=0,(x,y),(lp,c); |
---|
| 122 | Matrix M=id(2); |
---|
| 123 | Module src=image(M); |
---|
| 124 | matrix rules[2][2]=x,y,x2,y2; |
---|
| 125 | Module tar=coker(M); |
---|
| 126 | src; |
---|
| 127 | tar; |
---|
| 128 | rules; |
---|
| 129 | homomorphism(rules,src,tar); |
---|
| 130 | kill R,M,src,rules,tar; |
---|
| 131 | |
---|
| 132 | |
---|
| 133 | ring r; |
---|
| 134 | matrix m[2][2]=x,y2,z,xz; |
---|
| 135 | Matrix M=m; |
---|
| 136 | M; |
---|
| 137 | coker(M); |
---|
| 138 | kill r,m,M; |
---|
| 139 | |
---|
| 140 | ring r; |
---|
| 141 | matrix m[2][2]=x,y2,z,xz; |
---|
| 142 | Matrix M=m; |
---|
| 143 | M; |
---|
| 144 | image(M); |
---|
| 145 | kill r,m,M; |
---|
| 146 | |
---|
| 147 | |
---|
| 148 | ring r; |
---|
| 149 | matrix m[1][3]=x,y2,z3; |
---|
| 150 | Matrix M=m; |
---|
| 151 | M; |
---|
| 152 | Ker(M); |
---|
| 153 | kill r,M,m; |
---|
| 154 | |
---|
| 155 | |
---|
| 156 | ring R=0,(x,y),(lp,c); |
---|
| 157 | Matrix M=id(2); |
---|
| 158 | Module src=image(M); |
---|
| 159 | matrix rules[2][2]=x,y,x2,y2; |
---|
| 160 | Module tar=coker(M); |
---|
| 161 | src; |
---|
| 162 | tar; |
---|
| 163 | rules; |
---|
| 164 | Homomorphism f=homomorphism(rules,src,tar); |
---|
| 165 | f; |
---|
| 166 | target(f); |
---|
| 167 | source(f); |
---|
| 168 | kill R,M,src,rules,tar,f; |
---|
| 169 | |
---|
| 170 | ring r; |
---|
| 171 | matrix ma[2][2]=x,y,x2,y2; |
---|
| 172 | Matrix m=ma; |
---|
| 173 | Module M=image(m); |
---|
| 174 | matrix na[2][2]=xy,x2,y2,x; |
---|
| 175 | Matrix n=na; |
---|
| 176 | Module N=image(na); |
---|
| 177 | M; |
---|
| 178 | N; |
---|
| 179 | N+M; |
---|
| 180 | kill r,ma,m,M,na,n,N; |
---|
| 181 | |
---|
| 182 | ring r; |
---|
| 183 | matrix ma[2][2]=x,y,x,y; |
---|
| 184 | Matrix m=ma; |
---|
| 185 | Module M=image(m); |
---|
| 186 | matrix na[2][1]=-y,x; |
---|
| 187 | Matrix n=na; |
---|
| 188 | M; |
---|
| 189 | Module N=image(n); |
---|
| 190 | N; |
---|
| 191 | N==M; |
---|
| 192 | N=coker(n); |
---|
| 193 | N; |
---|
| 194 | N==M; |
---|
| 195 | kill r,ma,m,M,na,n,N; |
---|
| 196 | |
---|
| 197 | ring r; |
---|
| 198 | matrix ma[2][2]=x,y,x,y; |
---|
| 199 | Matrix m=ma; |
---|
| 200 | Module M=image(m); |
---|
| 201 | M; |
---|
| 202 | Degrees(M); |
---|
| 203 | kill ma,m,M; |
---|
| 204 | |
---|
| 205 | |
---|
| 206 | ring r; |
---|
| 207 | matrix ma[2][2]=x,y,x,y; |
---|
| 208 | Matrix M=ma; |
---|
| 209 | matrix na[2][1]=-y,x; |
---|
| 210 | Matrix N=na; |
---|
| 211 | M; |
---|
| 212 | N; |
---|
| 213 | N==M; |
---|
| 214 | M==M; |
---|
| 215 | kill r,ma,M,na,N; |
---|
| 216 | |
---|
| 217 | ring r; |
---|
| 218 | matrix m[2][2]=x,y2,z,xz; |
---|
| 219 | Matrix M=m; |
---|
| 220 | M; |
---|
| 221 | Module N=image(M); |
---|
| 222 | N; |
---|
| 223 | kill r,m,M,N; |
---|
| 224 | |
---|
| 225 | |
---|
| 226 | ring r; |
---|
| 227 | list L = 1,1,1; |
---|
| 228 | FreeModule F = freeModule(r,3,L); |
---|
| 229 | freeModule2Module(F); |
---|
| 230 | kill r,L,F; |
---|
| 231 | |
---|
| 232 | ring r; |
---|
| 233 | matrix m[2][2]=x,y2,z,xz; |
---|
| 234 | Matrix M=m; |
---|
| 235 | netMatrix(M); |
---|
| 236 | kill r,m,M; |
---|
| 237 | |
---|
| 238 | ring r; |
---|
| 239 | Module M = image(id(3)); |
---|
| 240 | makeVector([x,y,z],M); |
---|
| 241 | kill r,M; |
---|
| 242 | |
---|
| 243 | ring r; |
---|
| 244 | matrix m[2][1] = x,-y; |
---|
| 245 | Module M = subquotient(id(2),m); |
---|
| 246 | Vector V = [x,y],M; |
---|
| 247 | Vector W = [0,2y],M; |
---|
| 248 | Vector U = [x,y2],M; |
---|
| 249 | compareVectors(V,W); |
---|
| 250 | compareVectors(U,V); |
---|
| 251 | kill r,m,M,V,W,U; |
---|
| 252 | |
---|
| 253 | |
---|
| 254 | ring R = 0,(x,y),dp; |
---|
| 255 | matrix a[1][2] = x,y; |
---|
| 256 | Matrix A = a; |
---|
| 257 | matrix b[1][2] = x2,y2; |
---|
| 258 | Matrix B = b; |
---|
| 259 | Module M = subquotient(A,B); |
---|
| 260 | presentation(M); |
---|
| 261 | kill R,a,A,b,B,M; |
---|
| 262 | |
---|
| 263 | |
---|
| 264 | ring r; |
---|
| 265 | matrix m[2][2]=x,y2,z,xz; |
---|
| 266 | matrix n[2][2]=1,2,3,4; |
---|
| 267 | Matrix M = m; |
---|
| 268 | Matrix N = n; |
---|
| 269 | tensorMatrix(M,N); |
---|
| 270 | kill r,m,n,M,N; |
---|
| 271 | |
---|
| 272 | |
---|
| 273 | ring R = 0,(x,y,z),dp; |
---|
| 274 | matrix a[1][2] = x,y; |
---|
| 275 | Matrix A = a; |
---|
| 276 | matrix b[1][2] = x2,y2; |
---|
| 277 | Matrix B = b; |
---|
| 278 | Module M = subquotient(A,B); |
---|
| 279 | M; |
---|
| 280 | matrix c[2][2]=x,y2,z,xz; |
---|
| 281 | Matrix C=c; |
---|
| 282 | matrix d[2][3]=z2,xyz,x2y2,xy,x3,y4; |
---|
| 283 | Matrix D=d; |
---|
| 284 | Module N = subquotient(C,D); |
---|
| 285 | N; |
---|
| 286 | tensorModule(M,N); |
---|
| 287 | kill R,a,A,b,B,M,c,C,d,D,N; |
---|
| 288 | |
---|
| 289 | |
---|
| 290 | ring R = 0,(x,y,z),dp; |
---|
| 291 | matrix a[1][2] = x,y; |
---|
| 292 | Matrix A = a; |
---|
| 293 | matrix b[1][2] = x2,y2; |
---|
| 294 | Matrix B = b; |
---|
| 295 | Module M = subquotient(A,B); |
---|
| 296 | M; |
---|
| 297 | FreeModule F = freeModule(R,3,0); |
---|
| 298 | F; |
---|
| 299 | tensorModFreemod(M,F); |
---|
| 300 | kill R,a,A,b,B,M,F; |
---|
| 301 | |
---|
| 302 | |
---|
| 303 | ring R = 0,(x,y,z),dp; |
---|
| 304 | FreeModule F = freeModule(R,3,0); |
---|
| 305 | F; |
---|
| 306 | tensorFreeModule(F,F); |
---|
| 307 | kill R,F; |
---|
| 308 | |
---|
| 309 | |
---|
| 310 | ring R = 0,(x,y,z),dp; |
---|
| 311 | matrix a[2][3] = -x,-y^2,x^3,y,x,0; |
---|
| 312 | matrix b[1][2] = x^2-y^3,xy; |
---|
| 313 | Matrix A = a; |
---|
| 314 | Matrix B = b; |
---|
| 315 | Module M = coker(A); |
---|
| 316 | Module N = coker(B); |
---|
| 317 | Module H = hom(M,N); |
---|
| 318 | H; |
---|
| 319 | kill R,a,b,A,B,M,N,H; |
---|
| 320 | |
---|
| 321 | |
---|
| 322 | ring R = 0,(x,y),dp; |
---|
| 323 | matrix a[1][2] = x,y; |
---|
| 324 | Matrix A = a; |
---|
| 325 | matrix b[1][2] = x2,y2; |
---|
| 326 | Matrix B = b; |
---|
| 327 | Module M = subquotient(A,B); |
---|
| 328 | Module C = presentation(M); |
---|
| 329 | Vector V = [x2,y4],C; |
---|
| 330 | interpret(V); |
---|
| 331 | kill R,a,A,b,B,M,C,V; |
---|
| 332 | |
---|
| 333 | |
---|
| 334 | ring S; |
---|
| 335 | matrix gens[2][3] = x2+y-3z4,y+xy,xyz+4,3+z2x,z3-3x+3,2+x+y+z7; |
---|
| 336 | vector v = 2x*[gens[1..2,1]] + (y-z2)*[gens[1..2,2]] + 5*[gens[1..2,3]]; |
---|
| 337 | Matrix Gens = gens; |
---|
| 338 | Module M = subquotient(Gens,zero(2,3)); |
---|
| 339 | M.interpretation = list(list(1,1,1),list()); |
---|
| 340 | Vector V = v,M; |
---|
| 341 | interpret(V); |
---|
| 342 | kill S,gens,v,Gens,M,V; |
---|
| 343 | |
---|
| 344 | |
---|
| 345 | |
---|
| 346 | ring R; |
---|
| 347 | matrix gens[2][3] = x2,xy,4,z2x,3x+3,z; |
---|
| 348 | vector v = 2x*[gens[1..2,1]] + (y-z2)*[gens[1..2,2]] + 5*[gens[1..2,3]]; |
---|
| 349 | Matrix Gens = gens; |
---|
| 350 | Module S = subquotient(Gens,zero(2,3)); |
---|
| 351 | Module N = coker(id(3)); |
---|
| 352 | matrix E = N.generators.hom; |
---|
| 353 | Vector E1 = [1,0,0],N; |
---|
| 354 | Vector E2 = [0,1,0],N; |
---|
| 355 | Vector E3 = [0,0,1],N; |
---|
| 356 | S.interpretation = list(list(E1,E2,E3),list([gens[1..2,1]],[gens[1..2,2]],[gens[1..2,3]])); |
---|
| 357 | Vector V = v,S; |
---|
| 358 | Vector W = interpret(V),N; |
---|
| 359 | V; |
---|
| 360 | Vector Vnew = interpretInv(W,S); |
---|
| 361 | Vnew; |
---|
| 362 | V==Vnew; |
---|
| 363 | kill R,gens,v,Gens,S,N,E,E1,E2,E3,V,W,Vnew; |
---|
| 364 | |
---|
| 365 | |
---|
| 366 | ring R = 0,(x,y,z),dp; |
---|
| 367 | matrix a[2][3] = -x,-y^2,x^3,y,x,0; |
---|
| 368 | matrix b[1][2] = x^2-y^3,xy; |
---|
| 369 | Matrix A = a; |
---|
| 370 | Matrix B = b; |
---|
| 371 | Module M = coker(A); |
---|
| 372 | Module N = coker(B); |
---|
| 373 | hom(M,N); |
---|
| 374 | kill R,a,b,A,B,M,N; |
---|
| 375 | |
---|
| 376 | |
---|
| 377 | ring R=0,(x,y),(lp,c); |
---|
| 378 | Matrix M=id(2); |
---|
| 379 | Module src=image(M); |
---|
| 380 | matrix rules[2][2]=x,y,xy,y2; |
---|
| 381 | Module tar=coker(M); |
---|
| 382 | Homomorphism f=homomorphism(rules,src,tar); |
---|
| 383 | f; |
---|
| 384 | kerHom(f); |
---|
| 385 | kill R,M,src,rules,tar,f; |
---|
| 386 | |
---|
| 387 | |
---|
| 388 | tst_status(1);$ |
---|
| 389 | |
---|
| 390 | |
---|