# allGradings -- add Grading to a chainComplex

## Synopsis

• Usage:
Fall = allGradings(F,S)
• Inputs:
• F, , the free resolution of an ideal
• S, a ring, a ring with a finer garding
• Outputs:
• Fall, , a complex over S, the same as F but now with homogeneous with respect to all gradings of S

## Description

Given a resolution F of an ideal, with carries additional homogeneity with respect to the finer graded ring S, we compute the grading.

 i1 : a=3,b=3 o1 = (3, 3) o1 : Sequence i2 : I=carpet(a,b); ZZ o2 : Ideal of -----[x ..x , y ..y ] 32003 0 3 0 3 i3 : F = res(I,FastNonminimal=>true,LengthLimit=>2); i4 : betti F 0 1 2 o4 = total: 1 10 25 0: 1 . . 1: . 10 16 2: . . 9 o4 : BettiTally i5 : degs=apply(a+1,i->{1,0,i})|apply(b+1,j->{0,1,j}) o5 = {{1, 0, 0}, {1, 0, 1}, {1, 0, 2}, {1, 0, 3}, {0, 1, 0}, {0, 1, 1}, {0, ------------------------------------------------------------------------ 1, 2}, {0, 1, 3}} o5 : List i6 : S=coefficientRing ring I[gens ring I,Degrees=>degs] o6 = S o6 : PolynomialRing i7 : Fall = allGradings(F,S) 1 10 25 o7 = S <-- S <-- S 0 1 2 o7 : ChainComplex i8 : netList apply(length Fall+1,i->tally degrees Fall_i) +---------------------+ o8 = |Tally{{0, 0, 0} => 1}| +---------------------+ |Tally{{0, 2, 2} => 1}| | {0, 2, 3} => 1 | | {0, 2, 4} => 1 | | {1, 1, 2} => 1 | | {1, 1, 3} => 2 | | {1, 1, 4} => 1 | | {2, 0, 2} => 1 | | {2, 0, 3} => 1 | | {2, 0, 4} => 1 | +---------------------+ |Tally{{0, 3, 4} => 1}| | {0, 3, 5} => 1 | | {1, 2, 3} => 1 | | {1, 2, 4} => 2 | | {1, 2, 5} => 2 | | {1, 2, 6} => 1 | | {1, 3, 6} => 1 | | {1, 3, 7} => 1 | | {2, 1, 3} => 1 | | {2, 1, 4} => 2 | | {2, 1, 5} => 2 | | {2, 1, 6} => 1 | | {2, 2, 4} => 1 | | {2, 2, 5} => 1 | | {2, 2, 6} => 1 | | {2, 2, 7} => 1 | | {2, 2, 8} => 1 | | {3, 0, 4} => 1 | | {3, 0, 5} => 1 | | {3, 1, 5} => 1 | | {3, 1, 6} => 1 | +---------------------+

## Ways to use allGradings :

• "allGradings(ChainComplex,Ring)"

## For the programmer

The object allGradings is .