Top
Back: homolog_lib
Forward: cupproduct
FastBack: elim_lib
FastForward: mprimdec_lib
Up: homolog_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.4.3.1 cup

Procedure from library homolog.lib (see homolog_lib).

Usage:
cup(M,[,any,any]); M=module

Compute:
cup-product Ext^1(M',M') x Ext^1(M',M') ---> Ext^2(M',M'), where M':=R^m/M, if M in R^m, R basering (i.e. M':=coker(matrix(M))).
If called with >= 2 arguments: compute symmetrized cup-product

Assume:
all Ext's are finite dimensional

Return:
 
         matrix of the associated linear map,
         i.e. the columns of <matrix> present the coordinates of b_i & b_j
         (resp. (1/2)(b_i & b_j + b_j & b_i) in the symmetric version)
         with respect to a kbase of Ext^2,
         where b_1,b_2,... is a kbase of Ext^1 and & denotes cup product.
         In case of  a third argument return a list:
               L[1] = matrix see above (symmetric case, for >=2 arguments)
               L[2] = matrix of kbase of Ext^1
               L[3] = matrix of kbase of Ext^2

Note:
printlevel >=1; shows what is going on.
printlevel >=2; shows result in another representation.
For computing cupproduct of M itself, apply proc to syz(M)!

Example:
 
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));
==> 0,1,0, 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,0, -1,0,0,0,0,0,1,0, 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));
==> 0,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,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 a free resolution of M 
==> -1,0,
==> 0, y,
==> 0, 1,
==> -1,0 
==> // matrix of cup-products (in Ext^2)
==> 0,-1,0, 0,y,
==> 0,0, -y,y,0,
==> 0,0, -1,1,0,
==> 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
==> //_____1. component:
==> 0,1,
==> 0,0 
==> //_____2. component:
==> 0, 0,
==> -1,1 
==> ////// end level 3 //////
==> 0,1,0, 0,0,
==> 0,0,-1,1,0 
printlevel = p;


Top Back: homolog_lib Forward: cupproduct FastBack: elim_lib FastForward: mprimdec_lib Up: homolog_lib Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 2-0-2, August 2001, generated by texi2html.