Description
If
Iis a square free monomial ideal then
I is the StanleyReisner ideal of a simplicial complex. In this case,
dual I is the StanleyReisner 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..d]

i3 : dual I
o3 = monomialIdeal (a*c, b*c, b*d)
o3 : MonomialIdeal of QQ[a..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..d]

i5 : dual dual I
o5 = monomialIdeal (a*b, b*c, c*d)
o5 : MonomialIdeal of QQ[a..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
a\b denote the list whose
ith entry is
a_i+1b_iif
b_i >= 1and
0otherwise. The Alexander dual with respect to
a is the ideal generated by a monomial
x^a\b 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..z]

i8 : dual(I, {4,4,4})
2 4 4 3
o8 = monomialIdeal (x y , x z )
o8 : MonomialIdeal of QQ[x..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..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..z]

i12 : dual dual J
3 3
o12 = monomialIdeal (x y, x*y , x*z, y*z)
o12 : MonomialIdeal of QQ[x..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..z]

See Ezra Miller's Ph.D. thesis 'Resolutions and Duality for Monomial Ideals'.
Implemented by Greg Smith.
The computation is done by calling the frobby library, written by B. H. Roune; setting gbTrace to a positive value will cause a message to be printed when it is called.