next | previous | forward | backward | up | index | toc

# resDM -- uses a "killing cycles"-style construction to find a free resolution of a differential module

## Synopsis

• Usage:
resDM(D)
resDM(D,k)
• Inputs:
• Outputs:

## Description

Given a differential module D, this method creates a free flag resolution of D, using Algorithm 2.7 from the accompanying paper "The multigraded BGG correspondence in Macaulay2". The default resDM(D) runs the algorithm for the number of steps determined by the dimension of the ambient ring. Alternatively, resDM(D,k) iterates k steps of the algorithm.

 i1 : R = QQ[x,y]; i2 : M = R^1/ideal(x^2,y^2); i3 : phi = map(M,M,x*y, Degree=>2); o3 : Matrix M <-- M i4 : D = differentialModule phi; i5 : r = resDM(D) 8 8 8 o5 = R <-- R <-- R -1 0 1 o5 : DifferentialModule i6 : r.dd_1 o6 = {1} | 0 0 y x 0 0 -1 0 | {1} | 0 0 0 0 y x 0 1 | {0} | 0 0 0 0 0 0 x 0 | {0} | 0 0 0 0 0 0 -y 0 | {0} | 0 0 0 0 0 0 0 x | {0} | 0 0 0 0 0 0 0 -y | {-1} | 0 0 0 0 0 0 0 0 | {-1} | 0 0 0 0 0 0 0 0 | 8 8 o6 : Matrix R <-- R

The default algorithm runs for dim R + 1 steps. Adding the number of steps as a second argument is like adding a LengthLimit.

 i7 : R = QQ[x]/(x^3); i8 : phi = map(R^1,R^1,x^2, Degree=>2); 1 1 o8 : Matrix R <-- R i9 : D = differentialModule phi; i10 : r = resDM(D) 1 1 1 o10 = R <-- R <-- R -1 0 1 o10 : DifferentialModule i11 : r.dd_1 o11 = 0 1 1 o11 : Matrix R <-- R i12 : r = resDM(D,6) 6 6 6 o12 = R <-- R <-- R -1 0 1 o12 : DifferentialModule i13 : r.dd_1 o13 = {1} | 0 x 0 -1 1 0 | {0} | 0 0 x2 0 x -1 | {0} | 0 0 0 x 0 -1 | {-1} | 0 0 0 0 x2 0 | {-1} | 0 0 0 0 0 x | {-2} | 0 0 0 0 0 0 | 6 6 o13 : Matrix R <-- R

• differentialModule(Complex) -- converts a complex into a differential module
• resMinFlag -- gives a minimal free flag resolution of a differential module of degree 0
• unfold -- converts a differential module into a 1-periodic complex
• foldComplex -- converts a chain complex into a differential module
• minimizeDM -- minimizes a square matrix or a differential module

## Ways to use resDM :

• resDM(DifferentialModule)
• resDM(DifferentialModule,ZZ)

## For the programmer

The object resDM is .