next | previous | forward | backward | up | top | index | toc | Macaulay2 web site

lcmLattice -- returns the LCM lattice of an ideal

Synopsis

Description

This command allows for fast computation of LCM lattices, which are particularly useful in the study of resolutions of monomial ideals. Specifically the LCM lattice is the set of all lcms of subsets of the generators of the ideal, partially ordered by divisability.
i1 : S = QQ[a,b,c,d];
i2 : I = ideal (b^2-a*d, a*d-b*c, c^2-b*d);

o2 : Ideal of S
i3 : M = monomialIdeal (b^2, b*c, c^2);

o3 : MonomialIdeal of S
i4 : L = lcmLattice (I);
i5 : L.GroundSet

       2                      2           3       2               2 2   2 2  
o5 = {b  - a*d, - b*c + a*d, c  - b*d, - b c + a*b d + a*b*c*d - a d , b c  -
     ------------------------------------------------------------------------
      3       2         2       3    2         2         2     3 3    4     
     b d - a*c d + a*b*d , - b*c  + b c*d + a*c d - a*b*d , - b c  + b c*d +
     ------------------------------------------------------------------------
        2 2         3       3 2      2   2    2 2 2    2   3
     a*b c d + a*b*c d - a*b d  - a*b c*d  - a c d  + a b*d }

o5 : List
i6 : L.RelationMatrix

o6 = | 1 0 0 1 1 0 1 |
     | 0 1 0 1 0 1 1 |
     | 0 0 1 0 1 1 1 |
     | 0 0 0 1 0 0 1 |
     | 0 0 0 0 1 0 1 |
     | 0 0 0 0 0 1 1 |
     | 0 0 0 0 0 0 1 |

              7        7
o6 : Matrix ZZ  <--- ZZ
i7 : LM = lcmLattice (M);
i8 : LM.GroundSet

       2        2   2    2 2     2
o8 = {b , b*c, c , b c, b c , b*c }

o8 : List
i9 : LM.RelationMatrix

o9 = | 1 0 0 1 1 0 |
     | 0 1 0 1 1 1 |
     | 0 0 1 0 1 1 |
     | 0 0 0 1 1 0 |
     | 0 0 0 0 1 0 |
     | 0 0 0 0 1 1 |

              6        6
o9 : Matrix ZZ  <--- ZZ

Caveat

Note, that at present this command does not efficiently handle ideals with large numbers of generators. This is a problem that should be fixed by the next release of this package.

Ways to use lcmLattice :