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

# minimizeDM -- minimizes a square matrix or a differential module

## Synopsis

• Usage:
minimizeDM(D)
• Inputs:
• D, ,
• Outputs:

## Description

Given a differential module D, this code breaks off trivial blocks, producing a quasi-isomorphic differential module D' with a minimal differential.

 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 i7 : mr = minimizeDM(r) 4 4 4 o7 = R <-- R <-- R -1 0 1 o7 : DifferentialModule i8 : mr.dd_1 o8 = | xy x2 0 0 | | -y2 -xy 0 0 | | 0 0 -xy -x2 | | 0 0 y2 xy | 4 4 o8 : 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
• resDM -- uses a "killing cycles"-style construction to find a free resolution of a differential module

## Ways to use minimizeDM :

• minimizeDM(DifferentialModule)

## For the programmer

The object minimizeDM is .