<?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>HH^ZZ SumOfTwists -- coherent sheaf cohomology module</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="___H__H_us__Z__Z_sp__Chain__Complex.html">next</a> | <a href="___H__H^__Z__Z_sp__Sheaf__Of__Rings.html">previous</a> | <a href="___H__H_us__Z__Z_sp__Chain__Complex.html">forward</a> | <a href="___H__H^__Z__Z_sp__Sheaf__Of__Rings.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>HH^ZZ SumOfTwists -- coherent sheaf cohomology module</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>HH^i(F(>=d))</tt></div> </dd></dl> </div> </li> <li><span>Function: <a href="_cohomology.html" title="general cohomology functor">cohomology</a></span></li> <li><div class="single">Inputs:<ul><li><span><tt>i</tt>, <span>an <a href="___Z__Z.html">integer</a></span></span></li> <li><span><span>an object of class <a href="___Sum__Of__Twists.html" title="the class of all sums of twists">SumOfTwists</a></span>, <tt>F(>=d)</tt>, notation representing the sum of the twists <tt>F(n)</tt> for all <tt>n</tt> greater than or equal to <tt>d</tt>, where <tt>F</tt> is a coherent sheaf on a projective variety <tt>X</tt>.</span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><span>a <a href="___Module.html">module</a></span>, M over the homogeneous coordinate ring of the variety <tt>X</tt> which agrees, at least in degrees n greater than or equal to d, with the graded module that in degree n is the<tt>i</tt>-th cohomology group of <tt>F(n)</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="_cohomology_lp..._cm_sp__Degree_sp_eq_gt_sp..._rp.html">Degree => ...</a>, </span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div>The command computes a module over the homogeneous coordinate ring of the variety <tt>X</tt> which agrees, at least in degrees n greater than or equal to the given d, with the graded module that in degree n is the<tt>i</tt>-th cohomology group of <tt>F(n)</tt>.<p/> To discard the part of the module M of degree less than d, use <tt>truncate(d,M)</tt>.<p/> Use <tt>HH^i(F(>d))</tt> to request the twists strictly greater than n.<p/> Note: use <tt>HH^i(F(*))</tt> to try to compute the whole graded module. The computation will fail if the module is not finitely generated.<p/> As a first example we look at the cohomology of line bundles on the projective plane<table class="examples"><tr><td><pre>i1 : X = Proj(QQ[x_0..x_2]) o1 = X o1 : ProjectiveVariety</pre> </td></tr> <tr><td><pre>i2 : HH^0(OO_X^1(>=0)) 1 o2 = (QQ[x , x , x ]) 0 1 2 o2 : QQ[x , x , x ]-module, free 0 1 2</pre> </td></tr> <tr><td><pre>i3 : HH^1(OO_X^1(>=0)) o3 = 0 o3 : QQ[x , x , x ]-module 0 1 2</pre> </td></tr> <tr><td><pre>i4 : HH^2(OO_X^1(>=-3)) -- this should change to * once implemented o4 = cokernel {-3} | x_2 x_1 x_0 | 1 o4 : QQ[x , x , x ]-module, quotient of (QQ[x , x , x ]) 0 1 2 0 1 2</pre> </td></tr> <tr><td><pre>i5 : TruncDual = HH^2(OO_X^1(>=-4)) o5 = cokernel {-4} | x_2 x_1 0 0 x_0 0 0 0 | {-4} | 0 0 x_2 x_0 0 x_1 0 0 | {-4} | 0 0 0 0 -x_2 -x_2 x_1 x_0 | 3 o5 : QQ[x , x , x ]-module, quotient of (QQ[x , x , x ]) 0 1 2 0 1 2</pre> </td></tr> <tr><td><pre>i6 : hilbertFunction(-4, TruncDual) o6 = 3</pre> </td></tr> <tr><td><pre>i7 : hilbertFunction(-3, TruncDual) o7 = 1</pre> </td></tr> </table> <p/> As a second example we compute the H^1 cohomology module T of the Horrocks-Mumford bundle on the projective fourspace. T is an artinian module with Hilbert function (5,10,10,2):<table class="examples"><tr><td><pre>i8 : R = QQ[x_0..x_4];</pre> </td></tr> <tr><td><pre>i9 : a = {1,0,0,0,0} o9 = {1, 0, 0, 0, 0} o9 : List</pre> </td></tr> <tr><td><pre>i10 : b = {0,1,0,0,1} o10 = {0, 1, 0, 0, 1} o10 : List</pre> </td></tr> <tr><td><pre>i11 : c = {0,0,1,1,0} o11 = {0, 0, 1, 1, 0} o11 : List</pre> </td></tr> <tr><td><pre>i12 : M1 = matrix table(5,5, (i,j)-> x_((i+j)%5)*a_((i-j)%5)) o12 = | x_0 0 0 0 0 | | 0 x_2 0 0 0 | | 0 0 x_4 0 0 | | 0 0 0 x_1 0 | | 0 0 0 0 x_3 | 5 5 o12 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i13 : M2 = matrix table(5,5, (i,j)-> x_((i+j)%5)*b_((i-j)%5)) o13 = | 0 x_1 0 0 x_4 | | x_1 0 x_3 0 0 | | 0 x_3 0 x_0 0 | | 0 0 x_0 0 x_2 | | x_4 0 0 x_2 0 | 5 5 o13 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i14 : M3 = matrix table(5,5, (i,j)-> x_((i+j)%5)*c_((i-j)%5)) o14 = | 0 0 x_2 x_3 0 | | 0 0 0 x_4 x_0 | | x_2 0 0 0 x_1 | | x_3 x_4 0 0 0 | | 0 x_0 x_1 0 0 | 5 5 o14 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i15 : M = M1 | M2 | M3; 5 15 o15 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i16 : betti (C=res coker M) 0 1 2 3 4 5 o16 = total: 5 15 29 37 20 2 0: 5 15 10 2 . . 1: . . 4 . . . 2: . . 15 35 20 . 3: . . . . . 2 o16 : BettiTally</pre> </td></tr> <tr><td><pre>i17 : N = transpose submatrix(C.dd_3,{10..28},{2..36}); 35 19 o17 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i18 : betti (D=res coker N) 0 1 2 3 4 5 o18 = total: 35 19 19 35 20 2 -5: 35 15 . . . . -4: . 4 . . . . -3: . . . . . . -2: . . . . . . -1: . . . . . . 0: . . 4 . . . 1: . . 15 35 20 . 2: . . . . . 2 o18 : BettiTally</pre> </td></tr> <tr><td><pre>i19 : Pfour = Proj(R) o19 = Pfour o19 : ProjectiveVariety</pre> </td></tr> <tr><td><pre>i20 : HorrocksMumford = sheaf(coker D.dd_3);</pre> </td></tr> <tr><td><pre>i21 : T = HH^1(HorrocksMumford(>=-1)) o21 = cokernel {-1} | x_4 x_2 0 0 x_0 0 0 0 x_3 0 0 0 0 0 x_1 | {-1} | 0 -x_3 x_1 0 0 x_4 x_2 0 0 0 0 x_0 0 0 0 | {-1} | 0 0 0 x_3 -x_2 x_0 0 x_1 0 0 0 0 0 -x_4 0 | {-1} | 0 0 0 0 0 0 -x_4 -x_2 x_1 x_0 x_3 0 0 0 0 | {-1} | 0 0 0 0 0 0 0 0 0 0 x_4 -x_3 x_2 x_1 x_0 | 5 o21 : R-module, quotient of R</pre> </td></tr> <tr><td><pre>i22 : apply(-1..2, i-> hilbertFunction(i,T)) o22 = (5, 10, 10, 2) o22 : Sequence</pre> </td></tr> </table> </div> </div> <div class="single"><h2>Caveat</h2> <div>The computation will fail if the module is not finitely generated. Also the version HH^i(F(*)) is not yet implemented.</div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="___H__H.html" title="general homology and cohomology functor">HH</a> -- general homology and cohomology functor</span></li> <li><span><a href="___H__H^__Z__Z_sp__Coherent__Sheaf.html" title="cohomology of a coherent sheaf on a projective variety">HH^ZZ CoherentSheaf</a> -- cohomology of a coherent sheaf on a projective variety</span></li> <li><span><a href="___H__H^__Z__Z_sp__Module.html" title="local cohomology of a module">HH^ZZ Module</a> -- local cohomology of a module</span></li> </ul> </div> </div> </body> </html>