Given a resolution $C$, a poset can be defined by the non-zero entries of the matrices of each component of the resolution.
i1 : R = QQ[x,y,z]; |
i2 : C = res ideal(y*z,x*z,x^2*y) 1 3 2 o2 = R <-- R <-- R <-- 0 0 1 2 3 o2 : ChainComplex |
i3 : resolutionPoset C o3 = Relation Matrix: | 1 1 1 1 1 1 | | 0 1 0 0 1 0 | | 0 0 1 0 1 1 | | 0 0 0 1 0 1 | | 0 0 0 0 1 0 | | 0 0 0 0 0 1 | o3 : Poset |
i4 : (resolutionPoset C).GroundSet o4 = {{0, 0}, {1, 0}, {1, 1}, {1, 2}, {2, 0}, {2, 1}} o4 : List |
Moreover, the resolution-poset of a MonomialIdeal can be labeled as the lcm of the generators involved at each level. As the lcm needn't be unique at each step, we simply append it to the base labeling, as above.
i5 : P = resolutionPoset monomialIdeal(y*z,x*z,x^2*y) o5 = P o5 : Poset |
i6 : P.GroundSet 2 2 o6 = {{0, 0, {0, 0}}, {1, 0, x y}, {1, 1, x*z}, {1, 2, y*z}, {2, 0, x y*z}, ------------------------------------------------------------------------ {2, 1, x*y*z}} o6 : List |
The object resolutionPoset is a method function.