Singular Manual: strand

| #### D.15.29.14 strand Procedure from library `tateProdCplxNegGrad.lib` (see tateProdCplxNegGrad_lib). Usage: strand(T,c,J) Purpose: compute the strand of T w.r.t. the set J and the vector c Return: subquotient complex of T which is the strand of T Example:
    LIB "tateProdCplxNegGrad.lib";
    intvec f = 1,1;
    def (S,E) = productOfProjectiveSpaces(f);
    intvec low = -3,-3;
    intvec high = 3,3;
    setring(S);
    module M = 0;
    intmat MGrading[2][1] = -1,-1;
    M = setModuleGrading(M,MGrading);
    multigradedcomplex tate;
    (E,tate) = tateResolution(M,low,high);
    setring(E);
    ring Z = cohomologyMatrixFromResolution(tate,low,high);
    setring(Z);
    print(cohomologymat);
    ==> 5h,0,5,10,15,20,25,
    ==> 4h,0,4,8, 12,16,20,
    ==> 3h,0,3,6, 9, 12,15,
    ==> 2h,0,2,4, 6, 8, 10,
    ==> h, 0,1,2, 3, 4, 5,
    ==> 0, 0,0,0, 0, 0, 0,
    ==> h2,0,h,2h,3h,4h,5h
    setring(E);
    intvec  c= 0,-3;
    intvec J = 1;
    multigradedcomplex U = strand(tate,c,J);
    U;
    ==> 0  <--  E^10  <--  E^8  <--  E^6  <--  E^4  <--  E^2  <--  E^2  <--  E^4 \
        <--  E^6  <--  E^8  <--  E^10
    ==> -4      -3         -2        -1        0         1         2         3   \
             4         5         6
    ==>
    Z = cohomologyMatrixFromResolution(U,low,high);
    setring(Z);
    print(cohomologymat);
    ==> 0,0,0,10,0,0,0,
    ==> 0,0,0,8, 0,0,0,
    ==> 0,0,0,6, 0,0,0,
    ==> 0,0,0,4, 0,0,0,
    ==> 0,0,0,2, 0,0,0,
    ==> 0,0,0,0, 0,0,0,
    ==> 0,0,0,2h,0,0,0

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