{* Code for the talk 10/6/15 *} {* Madeline Brandt *} {*badRes will compute a free resolution in the “naive” way—*} {* it will repeatedly compute kernels *} badRes = I -> ( f := gens I; L:= {}; while f != 0 do (L = append(L,f); f =gens ker gens image f); append(L,f); chainComplex(L) ) {* How much worse is badRes than the way Macaulay2 computes free resolutions?*} {* timeRes will take in an integer i output the free resolution and also the times for badRes and res, for the ideal I = (x_0..x_i)*} timeRes = i -> ( R := QQ[x_0..x_i]; I := ideal(vars R); time(badRes(I)), time(res(I)) ) {* EXAMPLE R = QQ[x,y,z] I = ideal(x^2,y^3,z^6) rs = res I rs.dd clearAll R = QQ[x_0 .. x_14] load “badres.M2” time badRes I time res I *}