# schreyerName -- get the names of generators in the (nonminimal) Schreyer resolution according to Schreyer's convention

## Synopsis

• Usage:
L = schreyerName(F,i,n)
h = schreyerName(F,a)
L = schreyerName(h,i,n)
• Inputs:
• F, , the nonminimal resolution from a Groebner basis
• i, an integer, the homological degree
• n, an integer, the number of the generator
• a, an integer, homological degree
• h, , of lists of names
• Outputs:
• L, a list, list of monomials
• h, , of names

## Description

We name the generators of the syzygies by the list of the monomial parts of the leadTerm with position m recursively:

schreyerName(F,i,n) = append(schreyerName(F,i-1,m),mon)

where mon denotes the monomial part and m the position in F_(i-1) of leadTerm F.dd_i_n.

 i1 : (a,b)=(5,4) o1 = (5, 4) o1 : Sequence i2 : I = carpet(a,b); ZZ o2 : Ideal of -----[x ..x , y ..y ] 32003 0 5 0 4 i3 : F = res(I, FastNonminimal =>true) ZZ 1 ZZ 28 ZZ 127 ZZ 286 ZZ 385 ZZ 323 ZZ 166 ZZ 48 ZZ 6 o3 = (-----[x ..x , y ..y ]) <-- (-----[x ..x , y ..y ]) <-- (-----[x ..x , y ..y ]) <-- (-----[x ..x , y ..y ]) <-- (-----[x ..x , y ..y ]) <-- (-----[x ..x , y ..y ]) <-- (-----[x ..x , y ..y ]) <-- (-----[x ..x , y ..y ]) <-- (-----[x ..x , y ..y ]) <-- 0 32003 0 5 0 4 32003 0 5 0 4 32003 0 5 0 4 32003 0 5 0 4 32003 0 5 0 4 32003 0 5 0 4 32003 0 5 0 4 32003 0 5 0 4 32003 0 5 0 4 9 0 1 2 3 4 5 6 7 8 o3 : ChainComplex i4 : betti F 0 1 2 3 4 5 6 7 8 o4 = total: 1 28 127 286 385 323 166 48 6 0: 1 . . . . . . . . 1: . 28 105 184 185 110 36 5 . 2: . . 22 101 195 203 120 38 5 3: . . . 1 5 10 10 5 1 o4 : BettiTally i5 : i=3,n=10 o5 = (3, 10) o5 : Sequence i6 : schreyerName(F,3,10) o6 = {x x , x , x } 3 4 3 1 o6 : List i7 : h=schreyerName F; i8 : h#8 2 2 o8 = {{y y , x , y , y , x , x , x , x }, {y y , x , y , y , x , x , x , x }, 1 3 1 2 1 5 4 3 2 2 3 1 2 1 5 4 3 2 ------------------------------------------------------------------------ 2 2 {y , x y , y , y , x , x , x , x }, {y , x y , y , y , x , x , x , x }, 3 2 0 2 1 4 3 2 1 3 3 0 2 1 4 3 2 1 ------------------------------------------------------------------------ 2 2 2 {y , x y , y , y , x , x , x , x }, {y , x y , x , y , y , x , x , x }} 3 4 0 2 1 4 3 2 1 3 5 0 1 2 1 4 3 2 o8 : List i9 : h#7_20 2 o9 = {y , x x , y , y , x , x , x } 3 1 4 2 1 3 2 1 o9 : List i10 : h#7_20 == schreyerName(F,7,20) o10 = true

## Ways to use schreyerName :

• "schreyerName(ChainComplex)"
• "schreyerName(ChainComplex,ZZ)"
• "schreyerName(ChainComplex,ZZ,ZZ)"
• "schreyerName(HashTable,ZZ,ZZ)"

## For the programmer

The object schreyerName is .