Top
Back: D.4.3.1 cup
Forward: D.4.3.3 depth
FastBack: D. SINGULAR libraries
FastForward: E. Release Notes
Up: D.4.3 homolog_lib
Top: Singular 2-0-4 Manual
Contents: Table of Contents
Index: F. Index
About: About This Document

D.4.3.2 cupproduct

Procedure from library homolog.lib (see homolog_lib).

Usage:

cupproduct(M,N,P,p,q[,any]); M,N,P modules, p,q integers

Compute:

cup-product Ext^p(M’,N’) x Ext^q(N’,P’) —> Ext^p+q(M’,P’), where M’:=R^m/M, if M in R^m, R basering (i.e. M’:=coker(matrix(M)))

Assume:

all Ext’s are of finite dimension

Return:

- if called with 5 arguments: matrix of the associated linear map Ext^p (tensor) Ext^q –> Ext^p+q, i.e. the columns of <matrix> present the coordinates of the cup products (b_i & c_j) with respect to a kbase of Ext^p+q (b_i resp. c_j are the choosen bases of Ext^p, resp. Ext^q).
- if called with 6 arguments: list L,

 
      L[1] = matrix (see above)
      L[2] = matrix of kbase of Ext^p(M’,N’)
      L[3] = matrix of kbase of Ext^q(N’,P’)
      L[4] = matrix of kbase of Ext^p+q(N’,P’)
Note:

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

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(cupproduct(M,M,M,1,3));
→ 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 
printlevel = 3;
list l     = (cupproduct(M,M,M,1,3,"any"));
→ // vdim Ext(M,N) = 4
→ // kbase of Ext^p(M,N)
→ //  - the columns present the kbase elements in Hom(F(p),G(0))
→ //  - F(*),G(*) are free resolutions of M and N
→ 0, 0, 1, 0,  
→ 0, y, 0, 0,  
→ 1, 0, 0, 0,  
→ 0, 0, 0, y,  
→ 0, -1,0, 0,  
→ 0, 0, x2,0,  
→ 0, 0, 0, -x2,
→ 1, 0, 0, 0,  
→ 0, 0, 0, -1, 
→ -1,0, 0, 0,  
→ 0, 1, 0, 0,  
→ 0, 0, 1, 0,  
→ -1,0, 0, 0,  
→ 0, 0, 0, x2y,
→ 0, 0, x2,0,  
→ 0, -y,0, 0   
→ // vdim Ext(N,P) = 4
→ // kbase of Ext(N,P):
→ 0, 0, 1,  0,  
→ 0, 0, 0,  y,  
→ 1, 0, 0,  0,  
→ 0, -y,0,  0,  
→ 0, -1,0,  0,  
→ 1, 0, 0,  0,  
→ 0, 0, 0,  -x2,
→ 0, 0, -x2,0,  
→ 0, 0, 0,  -1, 
→ 0, 0, 1,  0,  
→ 0, 1, 0,  0,  
→ 1, 0, 0,  0,  
→ -1,0, 0,  0,  
→ 0, -y,0,  0,  
→ 0, 0, x2, 0,  
→ 0, 0, 0,  -x2y
→ // kbase of Ext^q(N,P)
→ //  - the columns present the kbase elements in Hom(G(q),H(0))
→ //  - G(*),H(*) are free resolutions of N and P
→ 0, 0, 1,  0,  
→ 0, 0, 0,  y,  
→ 1, 0, 0,  0,  
→ 0, -y,0,  0,  
→ 0, -1,0,  0,  
→ 1, 0, 0,  0,  
→ 0, 0, 0,  -x2,
→ 0, 0, -x2,0,  
→ 0, 0, 0,  -1, 
→ 0, 0, 1,  0,  
→ 0, 1, 0,  0,  
→ 1, 0, 0,  0,  
→ -1,0, 0,  0,  
→ 0, -y,0,  0,  
→ 0, 0, x2, 0,  
→ 0, 0, 0,  -x2y
→ // vdim Ext(M,P) = 4
→ // kbase of Ext^p+q(M,P)
→ //  - the columns present the kbase elements in Hom(F(p+q),H(0))
→ //  - F(*),H(*) are free resolutions of M and P
→ 0, 0, 1,  0,  
→ 0, 0, 0,  y,  
→ 1, 0, 0,  0,  
→ 0, -y,0,  0,  
→ 0, -1,0,  0,  
→ 1, 0, 0,  0,  
→ 0, 0, 0,  -x2,
→ 0, 0, -x2,0,  
→ 0, 0, 0,  -1, 
→ 0, 0, 1,  0,  
→ 0, 1, 0,  0,  
→ 1, 0, 0,  0,  
→ -1,0, 0,  0,  
→ 0, -y,0,  0,  
→ 0, 0, x2, 0,  
→ 0, 0, 0,  -x2y
→ // lifting of kbase of Ext^p(M,N)
→ //  - the columns present liftings of kbase elements in Hom(F(p+q),G(q))
→ 1,0, 0, 0,  
→ 0,-y,0, 0,  
→ 0,0, x2,0,  
→ 0,0, 0, x2y,
→ 0,1, 0, 0,  
→ 1,0, 0, 0,  
→ 0,0, 0, -x2,
→ 0,0, x2,0,  
→ 0,0, -1,0,  
→ 0,0, 0, y,  
→ 1,0, 0, 0,  
→ 0,y, 0, 0,  
→ 0,0, 0, -1, 
→ 0,0, -1,0,  
→ 0,-1,0, 0,  
→ 1,0, 0, 0   
→ // matrix of cup-products (in Ext^p+q)
→ 0,0, 0, -1, 0,   0, 0, 0,   y,   1,  0,  0,  0,  0,   y,   0,  0,   
→ 0,0, 0, 0,  y,   0, 0, y,   0,   0,  -y, 0,  0,  y,   0,   0,  0,   
→ 0,1, 0, 0,  0,   0, y, 0,   0,   0,  0,  x2, 0,  0,   0,   0,  -x2y,
→ 0,0, y, 0,  0,   -y,0, 0,   0,   0,  0,  0,  x2y,0,   0,   x2y,0,   
→ 0,0, 1, 0,  0,   -1,0, 0,   0,   0,  0,  0,  x2, 0,   0,   x2, 0,   
→ 0,1, 0, 0,  0,   0, y, 0,   0,   0,  0,  x2, 0,  0,   0,   0,  -x2y,
→ 0,0, 0, 0,  -x2, 0, 0, -x2, 0,   0,  x2, 0,  0,  -x2, 0,   0,  0,   
→ 0,0, 0, x2, 0,   0, 0, 0,   -x2y,-x2,0,  0,  0,  0,   -x2y,0,  0,   
→ 0,0, 0, 0,  -1,  0, 0, -1,  0,   0,  1,  0,  0,  -1,  0,   0,  0,   
→ 0,0, 0, -1, 0,   0, 0, 0,   y,   1,  0,  0,  0,  0,   y,   0,  0,   
→ 0,0, -1,0,  0,   1, 0, 0,   0,   0,  0,  0,  -x2,0,   0,   -x2,0,   
→ 0,1, 0, 0,  0,   0, y, 0,   0,   0,  0,  x2, 0,  0,   0,   0,  -x2y,
→ 0,-1,0, 0,  0,   0, -y,0,   0,   0,  0,  -x2,0,  0,   0,   0,  x2y, 
→ 0,0, y, 0,  0,   -y,0, 0,   0,   0,  0,  0,  x2y,0,   0,   x2y,0,   
→ 0,0, 0, -x2,0,   0, 0, 0,   x2y, x2, 0,  0,  0,  0,   x2y, 0,  0,   
→ 0,0, 0, 0,  -x2y,0, 0, -x2y,0,   0,  x2y,0,  0,  -x2y,0,   0,  0    
→ ////// end level 2 //////
→ // the associated matrices of the bilinear mapping 'cup' 
→ // corresponding to the kbase elements of Ext^p+q(M,P) are shown,
→ //  i.e. the rows of the final matrix are written as matrix of
→ //  a bilinear form on Ext^p x Ext^q
→ //----component 1:
→ 0,1,0,0,
→ 0,0,0,0,
→ 0,0,0,0,
→ 0,0,0,0 
→ //----component 2:
→ 0,0,-1,0,
→ 0,1,0, 0,
→ 0,0,0, 0,
→ 0,0,0, 0 
→ //----component 3:
→ 0,0,0,-1,
→ 0,0,0,0, 
→ 0,1,0,0, 
→ 0,0,0,0  
→ //----component 4:
→ 0,0,0, 0,
→ 1,0,0, 1,
→ 0,0,-1,0,
→ 0,1,0, 0 
→ ////// end level 3 //////
show(l[1]);show(l[2]);
→ // matrix, 4x17
→ 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 
→ // matrix, 16x4
→ 0, 0, 1, 0,  
→ 0, y, 0, 0,  
→ 1, 0, 0, 0,  
→ 0, 0, 0, y,  
→ 0, -1,0, 0,  
→ 0, 0, x2,0,  
→ 0, 0, 0, -x2,
→ 1, 0, 0, 0,  
→ 0, 0, 0, -1, 
→ -1,0, 0, 0,  
→ 0, 1, 0, 0,  
→ 0, 0, 1, 0,  
→ -1,0, 0, 0,  
→ 0, 0, 0, x2y,
→ 0, 0, x2,0,  
→ 0, -y,0, 0   
printlevel = p;

Top Back: D.4.3.1 cup Forward: D.4.3.3 depth FastBack: D. SINGULAR libraries FastForward: E. Release Notes Up: D.4.3 homolog_lib Top: Singular 2-0-4 Manual Contents: Table of Contents Index: F. Index About: About This Document
            User manual for Singular version 2-0-4, October 2002, generated by texi2html.