1 | LIB "tst.lib"; tst_init(); |
---|
2 | // ----- setting up the algebra: |
---|
3 | LIB "ncalg.lib"; |
---|
4 | def A = makeUsl2(); |
---|
5 | setring A; A; |
---|
6 | // ----- equivalently, you may use |
---|
7 | // ring AA = 0,(e,f,h),dp; |
---|
8 | // matrix D[3][3]; |
---|
9 | // D[1,2]=-h; D[1,3]=2*e; D[2,3]=-2*f; |
---|
10 | // def A=nc_algebra(1,D); setring A; |
---|
11 | option(redSB); |
---|
12 | option(redTail); |
---|
13 | matrix T; |
---|
14 | // --- define a generating set |
---|
15 | ideal I = e2,f; |
---|
16 | ideal LI = std(I); // the left Groebner basis of I |
---|
17 | LI; // we see that I was not a Groebner basis |
---|
18 | module LS = syz(I); // the left syzygy module of I |
---|
19 | print(LS); |
---|
20 | // check: LS is a left syzygy, if T=0: |
---|
21 | T = transpose(LS)*transpose(I); |
---|
22 | print(T); |
---|
23 | // --- let us define the opposite algebra of A |
---|
24 | def Aop = opposite(A); |
---|
25 | setring Aop; Aop; // see how Aop looks like |
---|
26 | // --- we "oppose" (transfer) objects from A to Aop |
---|
27 | ideal Iop = oppose(A,I); |
---|
28 | ideal RIop = std(Iop); // the left Groebner basis of Iop in Aop |
---|
29 | module RSop = syz(Iop); // the left syzygy module of Iop in Aop |
---|
30 | module LSop = oppose(A,LS); |
---|
31 | module RLS = syz(transpose(LSop)); |
---|
32 | // RLS is the left syzygy of transposed LSop in Aop |
---|
33 | // --- let us return to A and transfer (i.e. oppose) |
---|
34 | // all the computed objects back |
---|
35 | setring A; |
---|
36 | ideal RI = oppose(Aop,RIop); // the right Groebner basis of I |
---|
37 | RI; // it differs from the left Groebner basis LI |
---|
38 | module RS = oppose(Aop,RSop); // the right syzygy module of I |
---|
39 | print(RS); |
---|
40 | // check: RS is a right syzygy, if T=0: |
---|
41 | T = matrix(I)*RS; |
---|
42 | T; |
---|
43 | module RLS; |
---|
44 | RLS = transpose(oppose(Aop,RLS)); |
---|
45 | // RLS is the right syzygy of a left syzygy of I |
---|
46 | // it is I itself ? |
---|
47 | print(RLS); |
---|
48 | tst_status(1);$ |
---|