# resLengthThreeAlg -- the minimal free resolution presented as a graded-commutative ring

## Synopsis

• Usage:
resLengthThreeAlg F, resLengthThreeAlg(F,L)
• Inputs:
• F, , a length three free resolution of a cyclic module
• L, a list, of three symbols
• Outputs:
• , the resolution presented as a quotient of a graded-commutative free algebra over the ambient ring

## Description

For a free resolution F over a ring Q, the function returns the resolution F as a quotient of a graded-commutative free algebra over Q. The basis vectors in degrees 1, 2, and 3 are named with the symbols from the list L. The default symbols are e, f, and g.

 i1 : Q = QQ[x,y,z]; i2 : A = resLengthThreeAlg res ideal (x^2,y^2,z^2) o2 = A o2 : QuotientRing i3 : describe A Q[e ..f , g ] 1 3 1 o3 = -------------------------------------------- (e e - f , e e - f , e e - f , e f - g ) 2 3 3 1 3 2 1 2 1 1 3 1 i4 : e_1*e_2 o4 = f 1 o4 : A i5 : e_1*f_2 o5 = 0 o5 : A i6 : e_1*f_3 o6 = g 1 o6 : A i7 : f_1*f_2 o7 = 0 o7 : A

The ambient ring Q does not need to be a polynomial algebra.

 i8 : P = QQ[u,v,x,y,z]; i9 : Q = P/ideal(u^2,u*v); i10 : F = resLengthThreeAlg ( res ideal (x^2,x*y,y^2,z^2), {a,b,c} ) o10 = F o10 : QuotientRing i11 : describe F Q[a ..a , b ..b , c ..c ] 1 4 1 5 1 2 o11 = ------------------------------------------------------------------------------------------------------------------------------------------------------- 2 2 (a a - b , a a - b , a a - b , a a - y*b , a a - x*b - y*b , a a - x*b , a b + c , a b , a b , a b , a b + c , a b , a b , a b , b , b b , b ) 3 4 3 2 4 4 1 4 5 2 3 1 1 3 1 2 1 2 2 4 2 2 3 2 2 2 1 2 4 1 1 3 1 2 1 1 1 2 1 2 1

 i12 : P = QQ[u,v]; i13 : Q = (P/ideal(u^2,u*v))[x,y,z]; i14 : A = resLengthThreeAlg res ideal (x^2,x*y,y^2,z^2) o14 = A o14 : QuotientRing i15 : describe A Q[e ..e , f ..f , g ..g ] 1 4 1 5 1 2 o15 = ------------------------------------------------------------------------------------------------------------------------------------------------------- 2 2 (e e - f , e e - f , e e - f , e e - y*f , e e - y*f - x*f , e e - x*f , e f - g , e f , e f , e f , e f - g , e f , e f , e f , f , f f , f ) 3 4 5 2 4 4 1 4 3 2 3 2 1 3 1 2 1 2 1 4 2 2 3 2 2 2 1 2 4 1 1 3 1 2 1 1 1 2 1 2 1

 i16 : P = ZZ[x,y,z]; i17 : Q = P/ideal(4_P); i18 : A = resLengthThreeAlg res ideal (x^2,y^2,z^2) o18 = A o18 : QuotientRing i19 : describe A Q[e ..f , g ] 1 3 1 o19 = ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 2 2 2 (e e - f , e e - f , e e - f , e f , e f + g , e f , e f , e f , e f - g , e f - g , e f , e f , e g , e g , e g , f , f f , f f , f , f f , f , f g , f g , f g ) 2 3 2 1 3 3 1 2 1 3 3 2 3 1 1 3 3 2 2 2 1 2 1 3 1 1 2 1 1 1 3 1 2 1 1 1 3 2 3 1 3 2 1 2 1 3 1 2 1 1 1

## Caveat

The ambient ring Q must be homogeneous.

## Ways to use resLengthThreeAlg :

• "resLengthThreeAlg(ChainComplex)"
• "resLengthThreeAlg(ChainComplex,List)"

## For the programmer

The object resLengthThreeAlg is .