i1 : needsPackage "LocalRings" o1 = LocalRings o1 : Package |
i2 : R = ZZ/32003[vars(0..3)] o2 = R o2 : PolynomialRing |
i3 : I = monomialCurveIdeal(R, {1, 3, 4}) 3 2 2 2 3 2 o3 = ideal (b*c - a*d, c - b*d , a*c - b d, b - a c) o3 : Ideal of R |
i4 : C = res I 1 4 4 1 o4 = R <-- R <-- R <-- R <-- 0 0 1 2 3 4 o4 : ChainComplex |
i5 : RP = localRing(R, ideal"a,b,c"); |
i6 : D = (C ++ C[-5]) ** RP 1 4 4 1 1 4 4 1 o6 = RP <-- RP <-- RP <-- RP <-- 0 <-- RP <-- RP <-- RP <-- RP <-- 0 0 1 2 3 4 5 6 7 8 9 o6 : ChainComplex |
i7 : MD = toMutableComplex D o7 = {| bc-ad b3-a2c ac2-b2d c3-bd2 |, | -b2 -ac -bd -c2 |, | d |, 0, 0, | -bc+ad -b3+a2c -ac2+b2d -c3+bd2 |, | b2 ac bd c2 |, | | c d 0 0 | | -c | | -c -d 0 0 | | | a b -c -d | | -b | | -a -b c d | | | 0 0 a b | | a | | 0 0 -a -b | | ---------------------------------------------------------------------------------------------------------------------------- -d |, 0, 0} c | b | -a | o7 : List |
i8 : pruneComplex MD o8 = ({| bc-ad c3-bd2 |, | (c3-bd2)/d |, 0, 0, 0, | -bc+ad -c3+bd2 |, | (-c3+bd2)/d |, 0, 0, 0}, {| 1 |, | 1 0 |, | 0 |, 0, | (-bc+ad)/d | | (bc-ad)/d | | 0 0 | | 0 | | 0 0 | | 1 | | 0 1 | | (-c)/d | ---------------------------------------------------------------------------------------------------------------------------- 0, | 1 |, | 1 0 |, | 0 |, 0, 0, 0}) | 0 0 | | 0 | | 0 0 | | 1 | | 0 1 | | (-c)/d | o8 : Sequence |
The nonzero terms in the chain complex must be in a series, otherwise may not work correctly.
The object toMutableComplex is a method function.