# resolution(Ideal) -- compute a projective resolution of (the quotient ring corresponding to) an ideal

## Synopsis

• Function: resolution
• Usage:
resolution I
• Inputs:
• I, an ideal, an ideal in a ring R, say
• Optional inputs:
• DegreeLimit => ..., default value null, compute only up to this degree
• FastNonminimal => ..., default value false, compute a non-minimal graded free resolution
• HardDegreeLimit => ..., default value {},
• LengthLimit => ..., default value infinity, stop when the resolution reaches this length
• PairLimit => ..., default value infinity, stop when this number of pairs has been handled
• SortStrategy => ..., default value 0,
• StopBeforeComputation => ..., default value false, whether to stop the computation immediately
• Strategy => ..., default value null,
• SyzygyLimit => ..., default value infinity, stop when this number of syzygies is reached
• Outputs:
• , a resolution of R/I by projective R-modules

## Description

 i1 : R = ZZ[a..d] o1 = R o1 : PolynomialRing i2 : I = ideal(a,b,c,d) o2 = ideal (a, b, c, d) o2 : Ideal of R i3 : C = res I 1 4 6 4 1 o3 = R <-- R <-- R <-- R <-- R <-- 0 0 1 2 3 4 5 o3 : ChainComplex i4 : C_2 6 o4 = R o4 : R-module, free, degrees {6:2} i5 : C.dd_2 o5 = {1} | -b 0 -c 0 0 -d | {1} | a -c 0 0 -d 0 | {1} | 0 b a -d 0 0 | {1} | 0 0 0 c b a | 4 6 o5 : Matrix R <--- R