<?xml version="1.0" encoding="utf-8" ?> <!-- for emacs: -*- coding: utf-8 -*- --> <!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head><title>dual(MonomialIdeal) -- the Alexander dual of a monomial ideal</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_dual_lp__Monomial__Ideal_cm_sp__Strategy_sp_eq_gt_sp..._rp.html">next</a> | <a href="_dual_lp__Module_rp.html">previous</a> | <a href="_dual_lp__Monomial__Ideal_cm_sp__Strategy_sp_eq_gt_sp..._rp.html">forward</a> | <a href="_dual_lp__Module_rp.html">backward</a> | up | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div> </td> </tr> </table> <hr/> <div><h1>dual(MonomialIdeal) -- the Alexander dual of a monomial ideal</h1> <div class="single"><h2>Synopsis</h2> <ul><li><div class="list"><dl class="element"><dt class="heading">Usage: </dt><dd class="value"><div><tt>dual I</tt></div> </dd></dl> </div> </li> <li><span>Function: <a href="_dual.html" title="dual module or map">dual</a></span></li> <li><div class="single">Inputs:<ul><li><span><tt>I</tt>, <span>a <a href="___Monomial__Ideal.html">monomial ideal</a></span>, a monomial ideal</span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span>the Alexander dual of <tt>I</tt></span></li> </ul> </div> </li> <li><div class="single"><a href="_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>:<ul><li><span><a href="_dual_lp__Monomial__Ideal_cm_sp__Strategy_sp_eq_gt_sp..._rp.html">Strategy => ...</a>, </span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div>If <tt>I</tt>is a square free monomial ideal then <tt>I</tt> is the Stanley-Reisner ideal of a simplicial complex. In this case, <tt>dual I</tt> is the Stanley-Reisner ideal associated to the dual complex. In particular, <tt>dual I</tt> is obtained by switching the roles of minimal generators and prime components.<table class="examples"><tr><td><pre>i1 : QQ[a,b,c,d];</pre> </td></tr> <tr><td><pre>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]</pre> </td></tr> <tr><td><pre>i3 : dual I o3 = monomialIdeal (a*c, b*c, b*d) o3 : MonomialIdeal of QQ[a, b, c, d]</pre> </td></tr> <tr><td><pre>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]</pre> </td></tr> <tr><td><pre>i5 : dual dual I o5 = monomialIdeal (a*b, b*c, c*d) o5 : MonomialIdeal of QQ[a, b, c, d]</pre> </td></tr> </table> <p/> For a general monomial ideal, the Alexander dual defined as follows: Given two list of nonnegative integers <tt>a</tt> and <tt>b</tt>for which <tt>a_i >= b_i</tt> for all <tt>i</tt> let <tt>a\b</tt> denote the list whose <tt>i</tt>-th entry is <tt>a_i+1-b_i</tt>if <tt>b_i >= 1</tt>and <tt>0</tt>otherwise. The Alexander dual with respect to <tt>a</tt> is the ideal generated by a monomial <tt>x^a\b</tt> for each irreducible component <tt>(x_i^b_i)</tt> of <tt>I</tt>. If <tt>a</tt> is not provided, it is assumed to be the least common multiple of the minimal generators of <tt>I</tt>.<table class="examples"><tr><td><pre>i6 : QQ[x,y,z];</pre> </td></tr> <tr><td><pre>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]</pre> </td></tr> <tr><td><pre>i8 : dual(I, {4,4,4}) 2 4 4 3 o8 = monomialIdeal (x y , x z ) o8 : MonomialIdeal of QQ[x, y, z]</pre> </td></tr> <tr><td><pre>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]</pre> </td></tr> </table> <p/> One always has <tt>dual( dual(I, a), a) == I</tt> however <tt>dual dual I</tt>may not equal <tt>I</tt>.<table class="examples"><tr><td><pre>i10 : QQ[x,y,z];</pre> </td></tr> <tr><td><pre>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]</pre> </td></tr> <tr><td><pre>i12 : dual dual J 3 3 o12 = monomialIdeal (x y, x*y , x*z, y*z) o12 : MonomialIdeal of QQ[x, y, z]</pre> </td></tr> <tr><td><pre>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]</pre> </td></tr> </table> <p/> See Ezra Miller's Ph.D. thesis 'Resolutions and Duality for Monomial Ideals'.<p>Implemented by Greg Smith.</p> <p>The computation is done by calling the <a href="_frobby.html" title="">frobby</a> library, written by B. H. Roune; setting <a href="_gb__Trace.html" title="provide tracing output during various computations in the engine.">gbTrace</a> to a positive value will cause a message to be printed when it is called.</p> </div> </div> </div> </body> </html>