Home Online Manual
Top
Back: doubleExt
Forward: is_pure
FastBack:
FastForward:
Up: purityfiltration_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.5.22.0. allDoubleExt
Procedure from library purityfiltration.lib (see purityfiltration_lib).

Usage:
allDoubleExt(R), R matrix representing the left Module M=D^p/D^q(R^t) over a ring D

Return:
list T, double indexed, which include all double-ext modules

Purpose:
computes all double ext-modules
T[i][j] gives a representation matrix of ext^(j-1)(ext(i-1)(M,D))

Example:
 
LIB "purityfiltration.lib";
ring D = 0,(x1,x2,x3,d1,d2,d3),dp;
def S=Weyl();
setring S;
matrix R[6][4]=
0,-2*d1,d3-2*d2-d1,-1,
0,d3-2*d1,2*d2-3*d1,1,
d3,-6*d1,-2*d2-5*d1,-1,
0,d2-d1,d2-d1,0,
d2,-d1,-d2-d1,0,
d1,-d1,-2*d1,0;
list T=allDoubleExt(transpose(R));
// left projective dimension of M=coker(R) is 3
// ext^i(ext^0(M,D)), i=0,1,2,3
print(T[1][1]);
==> 0, 
==> d1,
==> d3,
==> -d2
print(T[1][2]);
==> d3,d3,d2,d1
print(T[1][3]);
==> 1
print(T[1][4]);
==> 1
// ext^i(ext^1(M,D)), i=0,1,2,3
print(T[2][1]);
==> 1
print(T[2][2]);
==> 1,0,0,
==> 0,1,0,
==> 0,0,1 
print(T[2][3]);
==> 0,0,0,4*d2-d3,4*d1-d3,
==> 1,0,0,0,      0,      
==> 0,1,0,0,      0,      
==> 0,0,1,0,      0       
print(T[2][4]);
==> d3,d2,d1
// ext^i(ext^2(M,D)), i=0,1,2,3  (all zero)
print(T[3][1]);
==> 1
print(T[3][2]);
==> 1
print(T[3][3]);
==> 1
print(T[3][4]);
==> 1
// ext^i(ext^3(M,D)), i=0,1,2,3  (all zero)
print(T[4][1]);
==> 1
print(T[4][2]);
==> 1
print(T[4][3]);
==> 1
print(T[4][4]);
==> 1