##### 7.5.23.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

User manual for Singular version 4.4.1, 2025, generated by texi2html.