[top][index]
search for:

dual MonomialIdeal -- the Alexander dual of a monomial ideal

Synopsis:

  • Usage: J = dual I
  • Function: dual -- dual module or map
  • Input:
  • I, an instance of class MonomialIdeal: a monomial ideal
  • Output:
  • J, an instance of class Thing: the Alexander dual of I
  • If Iis a square free monomial ideal then I is the Stanley-Reisner ideal of a simplicial complex. In this case, dual I is the Stanley-Reisner ideal associated to the dual complex. In particular, dual I is obtained by switching the roles of minimal generators and prime components.

    i1 : QQ[a,b,c,d];
    i2 : I = monomialIdeal(a*b, b*c, c*d)

    o2 = monomialIdeal (a*b, b*c, c*d)

    o2 : MonomialIdeal of QQ [a, b, c, d]
    i3 : dual I

    o3 = monomialIdeal (a*c, b*c, b*d)

    o3 : MonomialIdeal of QQ [a, b, c, d]
    i4 : intersect(monomialIdeal(a,b), 
                   monomialIdeal(b,c),
                   monomialIdeal(c,d))

    o4 = monomialIdeal (a*c, b*c, b*d)

    o4 : MonomialIdeal of QQ [a, b, c, d]
    i5 : dual dual I

    o5 = monomialIdeal (a*b, b*c, c*d)

    o5 : MonomialIdeal of QQ [a, b, c, d]

    For a general monomial ideal, the Alexander dual defined as follows: Given two list of nonnegative integers a and bfor which a_i >= b_i for all i let ab denote the list whose i-th entry is a_i+1-b_iif b_i >= 1and 0otherwise. The Alexander dual with respect to a is the ideal generated by a monomial x^ab for each irreducible component (x_i^b_i) of I. If a is not provided, it is assumed to be the least common multiple of the minimal generators of I.

    i6 : QQ[x,y,z];
    i7 : I = monomialIdeal(x^3, x*y, y*z^2)

                         3          2
    o7 = monomialIdeal (x , x*y, y*z )

    o7 : MonomialIdeal of QQ [x, y, z]
    i8 : dual(I, {4,4,4})

                         2 4   4 3
    o8 = monomialIdeal (x y , x z )

    o8 : MonomialIdeal of QQ [x, y, z]
    i9 : intersect( monomialIdeal(x^2),
                   monomialIdeal(x^4, y^4),
                   monomialIdeal(y^4, z^3))

                         2 4   4 3
    o9 = monomialIdeal (x y , x z )

    o9 : MonomialIdeal of QQ [x, y, z]

    One always has dual( dual(I, a), a) == I however dual dual Imay not equal I.

    i10 : QQ[x,y,z];
    i11 : J = monomialIdeal( x^3*y^2, x*y^4, x*z, y^2*z)

                          3 2     4        2
    o11 = monomialIdeal (x y , x*y , x*z, y z)

    o11 : MonomialIdeal of QQ [x, y, z]
    i12 : dual dual J

                          3      3
    o12 = monomialIdeal (x y, x*y , x*z, y*z)

    o12 : MonomialIdeal of QQ [x, y, z]
    i13 : dual( dual(J, {3,4,1}), {3,4,1})

                          3 2     4        2
    o13 = monomialIdeal (x y , x*y , x*z, y z)

    o13 : MonomialIdeal of QQ [x, y, z]

    See Ezra Miller's Ph.D. thesis 'Resolutions and Duality for Monomial Ideals'.

    Implemented by Greg Smith.

    Code:

         -- ../../../Macaulay2/m2/monideal.m2:282
         dual MonomialIdeal := (I) -> dual(I, lcmOfGens(I))    

    [top][index]
    search for: