| LIB "homolog.lib";
int p = printlevel;
ring rr = 32003,(x,y,z),(dp,C);
ideal I = x4+y3+z2;
qring o = std(I);
module M = [x,y,0,z],[y2,-x3,z,0],[z,0,-y,-x3],[0,z,x,-y2];
print(cup(M));
==> 1,0, 0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,
==> 0,-1,0, 0,1,0,0,0,0,0, 0,0,0,0,0,0,
==> 0,0, -1,0,0,0,0,0,1,0, 0,0,0,0,0,0,
==> 0,0, 0, 1,0,0,1,0,0,-1,0,0,1,0,0,0
print(cup(M,1));
==> 1,0,0,0,0,0,0,0,0,0,
==> 0,0,0,0,0,0,0,0,0,0,
==> 0,0,0,0,0,0,0,0,0,0,
==> 0,0,0,1,0,0,0,0,0,0
// 2nd EXAMPLE (shows what is going on)
printlevel = 3;
ring r = 0,(x,y),(dp,C);
ideal i = x2-y3;
qring q = std(i);
module M = [-x,y],[-y2,x];
print(cup(M));
==> // vdim (Ext^1) = 2
==> // kbase of Ext^1(M,M)
==> // - the columns present the kbase elements in Hom(F(1),F(0))
==> // - F(*) a free resolution of M
==> -1,0,
==> 0, y,
==> 0, 1,
==> -1,0
==> // lift kbase of Ext^1:
==> // - the columns present liftings of kbase elements into Hom(F(2),F(1))
==> // - F(*) a free resolution of M
==> 1,0,
==> 0,y,
==> 0,1,
==> 1,0
==> // vdim (Ext^2) = 2
==> // kbase of Ext^2(M,M)
==> // - the columns present the kbase elements in Hom(F(2),F(0))
==> // - F(*) is a free resolution of M
==> -1,0,
==> 0, y,
==> 0, 1,
==> -1,0
==> // matrix of cup-products (in Ext^2)
==> -1,0, 0,y,
==> 0, -y,y,0,
==> 0, -1,1,0,
==> -1,0, 0,y
==> ////// end level 2 //////
==> // the associated matrices of the bilinear mapping 'cup'
==> // corresponding to the kbase elements of Ext^2(M,M) are shown,
==> // i.e. the rows of the final matrix are written as matrix of
==> // a bilinear form on Ext^1 x Ext^1
==> //-----component 1:
==> 1,0,
==> 0,0
==> //-----component 2:
==> 0,-1,
==> 1,0
==> ////// end level 3 //////
==> 1,0, 0,0,
==> 0,-1,1,0
printlevel = p;
|