| #### D.15.24.9 eulerPolynomialTable Procedure from library `tateProdCplxNegGrad.lib` (see tateProdCplxNegGrad_lib). Usage: eulerPolynomialTable(M,low,high); M module, L list, low intvec, high intvec Purpose: computes hash table of euler polynomials of twists of coker(M) in the range between low and high Assume: M module, note that at the moment M is a module over S, Return: (Z,eulerpolynomialtable), where eulerpolynomialtable is a hash table with entries in the ring Z = ZZ[h] Note: this function works for arbitrary products P^{n_1} x \cdots x P^{n_t} and corresponding Z^t-gradings, entries can be accessed via eulerpolynomialtable*(a_1,...,a_t) where a=(a_1,...,a_t) is a multidegree betweeen low and high Example:
    LIB "tateProdCplxNegGrad.lib";
    // example 1
    intvec c1 = 1,1;
    def (S1,E1) = productOfProjectiveSpaces(c1);
    intvec low1 = -3,-3;
    intvec high1 = 3,3;
    setring(S1);
    module M1 = 0;
    intmat grading1[2][1] = -1,-1;
    M1 = setModuleGrading(M1,grading1);
    def (Z1,eulerTable1) = eulerPolynomialTable(M1,low1,high1);
    setring(Z1);
    print(eulerTable1);
    eulerTable1*low1;
    setring(S1);
    ring Z = cohomologyMatrix(M1,low1,high1);
    setring(Z);
    print(cohomologymat);
    // example 2
    intvec c2 =  1,1,1;
    def (S2,E2) = productOfProjectiveSpaces(c2);
    setring(S2);
    intvec low2 = 0,0,0;
    intvec high2 = 1,1,1;
    module M2 = 0;
    intmat grading2[3][1] = -1,-1,-1;
    M2 = setModuleGrading(M2,grading2);
    def (Z2,eulerTable2) = eulerPolynomialTable(M2,low2,high2);
    setring(Z2);
    print(eulerTable2);

User manual for Singular version 4.3.2, 2023, generated by texi2html.