<?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>cohomologyTable -- dimensions of cohomology groups</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_sym__Ext.html">next</a> | <a href="_bgg.html">previous</a> | <a href="_sym__Ext.html">forward</a> | <a href="_bgg.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>cohomologyTable -- dimensions of cohomology groups</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>cohomologyTable(F,l,h) or cohomologyTable(m,E,l,h)</tt></div> </dd></dl> </div> </li> <li><div class="single">Inputs:<ul><li><span><tt>F</tt>, <span>a <a href="../../Macaulay2Doc/html/___Coherent__Sheaf.html">coherent sheaf</a></span>, a coherent sheaf on a projective scheme</span></li> <li><span><tt>l</tt>, <span>an <a href="../../Macaulay2Doc/html/___Z__Z.html">integer</a></span>, lower cohomological degree</span></li> <li><span><tt>h</tt>, <span>an <a href="../../Macaulay2Doc/html/___Z__Z.html">integer</a></span>, upper bound on the cohomological degree</span></li> <li><span><tt>m</tt>, <span>a <a href="../../Macaulay2Doc/html/___Matrix.html">matrix</a></span>, a presentation matrix for a module</span></li> <li><span><tt>E</tt>, <span>a <a href="../../Macaulay2Doc/html/___Polynomial__Ring.html">polynomial ring</a></span>, exterior algebra</span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><a href="../../BoijSoederberg/html/___Cohomology__Tally.html" title="cohomology table">CohomologyTally</a> dimensions of cohomology groups</span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div> This function takes as input a coherent sheaf <tt>F</tt>, two integers <tt>l</tt> and <tt>h</tt>, and prints the dimension <tt>dim HH^j F(i-j)</tt> for <tt>h>=i>=l</tt>. As a simple example, we compute the dimensions of cohomology groups of the projective plane.<table class="examples"><tr><td><pre>i1 : S = ZZ/32003[x_0..x_2]; </pre> </td></tr> <tr><td><pre>i2 : PP2 = Proj S; </pre> </td></tr> <tr><td><pre>i3 : F =sheaf S^1 1 o3 = OO PP2 o3 : coherent sheaf on PP2, free</pre> </td></tr> <tr><td><pre>i4 : cohomologyTable(F,-10,5) -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 o4 = 2: 55 45 36 28 21 15 10 6 3 1 . . . . . . 1: . . . . . . . . . . . . . . . . 0: . . . . . . . . . . 1 3 6 10 15 21 o4 : CohomologyTally</pre> </td></tr> </table> There is also a built-in sheaf cohomology function <a href="../../Macaulay2Doc/html/___H__H^__Z__Z_sp__Coherent__Sheaf.html">HH</a> in Macaulay2. However, these algorithms are much slower than <tt>cohomologyTable</tt>.<p/> Alternatively, this function takes as input a presentation matrix <tt>m</tt> of a finitely generated graded <tt>S</tt>-module <tt>M</tt>and an exterior algebra <tt>E</tt>with the same number of variables. In this form, the function is equivalent to the fucntion <tt>sheafCohomology</tt> in <a href="http://www.math.uiuc.edu/Macaulay2/Book/">Sheaf Algorithms Using Exterior Algebra</a>.<table class="examples"><tr><td><pre>i5 : S = ZZ/32003[x_0..x_2]; </pre> </td></tr> <tr><td><pre>i6 : E = ZZ/32003[e_0..e_2, SkewCommutative=>true];</pre> </td></tr> <tr><td><pre>i7 : m = koszul (3, vars S); 3 1 o7 : Matrix S <--- S</pre> </td></tr> <tr><td><pre>i8 : regularity coker m o8 = 2</pre> </td></tr> <tr><td><pre>i9 : betti tateResolution(m,E,-6,2) 0 1 2 3 4 5 6 7 8 9 10 o9 = total: 15 8 3 1 3 8 15 24 35 48 63 -4: 15 8 3 . . . . . . . . -3: . . . 1 . . . . . . . -2: . . . . 3 8 15 24 35 48 63 o9 : BettiTally</pre> </td></tr> <tr><td><pre>i10 : cohomologyTable(m,E,-6,2) -6 -5 -4 -3 -2 -1 0 1 2 3 4 o10 = 2: 63 48 35 24 15 8 3 . . . . 1: . . . . . . . 1 . . . 0: . . . . . . . . 3 8 15 o10 : CohomologyTally</pre> </td></tr> </table> <p/> As the third example, we compute the dimensions of cohomology groups of the structure sheaf of an irregular elliptic surface.<table class="examples"><tr><td><pre>i11 : S = ZZ/32003[x_0..x_4]; </pre> </td></tr> <tr><td><pre>i12 : X = Proj S; </pre> </td></tr> <tr><td><pre>i13 : ff = res coker map(S^{1:0},S^{3:-1,2:-2},{{x_0..x_2,x_3^2,x_4^2}}); </pre> </td></tr> <tr><td><pre>i14 : alpha = map(S^{1:-2},target ff.dd_3,{{1,4:0,x_0,2:0,x_1,0}})*ff.dd_3; 1 10 o14 : Matrix S <--- S</pre> </td></tr> <tr><td><pre>i15 : beta = ff.dd_4//syz alpha; 18 5 o15 : Matrix S <--- S</pre> </td></tr> <tr><td><pre>i16 : K = syz syz alpha|beta; 18 21 o16 : Matrix S <--- S</pre> </td></tr> <tr><td><pre>i17 : fK = res prune coker K;</pre> </td></tr> <tr><td><pre>i18 : s = random(target fK.dd_1,S^{1:-4,3:-5}); 13 4 o18 : Matrix S <--- S</pre> </td></tr> <tr><td><pre>i19 : ftphi = res prune coker transpose (fK.dd_1|s);</pre> </td></tr> <tr><td><pre>i20 : I = ideal ftphi.dd_2; o20 : Ideal of S</pre> </td></tr> <tr><td><pre>i21 : F = sheaf S^1/I; </pre> </td></tr> <tr><td><pre>i22 : cohomologyTable(F,-2,6) -2 -1 0 1 2 3 4 5 6 7 8 o22 = 2: 123 75 39 15 3 . . . . . . 1: . . . 1 2 1 . . . . . 0: . . 1 5 16 39 75 123 183 255 339 o22 : CohomologyTally</pre> </td></tr> </table> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_sym__Ext.html" title="the first differential of the complex R(M)">symExt</a> -- the first differential of the complex R(M)</span></li> <li><span><a href="_tate__Resolution.html" title="finite piece of the Tate resolution">tateResolution</a> -- finite piece of the Tate resolution</span></li> </ul> </div> <div class="waystouse"><h2>Ways to use <tt>cohomologyTable</tt> :</h2> <ul><li>cohomologyTable(CoherentSheaf,ZZ,ZZ)</li> <li>cohomologyTable(Matrix,PolynomialRing,ZZ,ZZ)</li> </ul> </div> </div> </body> </html>