Top
Back: sheafCohBGG
Forward: sheafCoh
FastBack: sagbi_lib
FastForward: sing4ti2_lib
Up: sheafcoh_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.4.22.5 sheafCohBGG2

Procedure from library sheafcoh.lib (see sheafcoh_lib).

Usage:
sheafCohBGG2(M,l,h); M module, l,h int

Assume:
M is graded, and it comes assigned with an admissible degree vector as an attribute, h>=l, and the basering has n+1 variables.

Return:
intmat, cohomology of twists of the coherent sheaf F on P^n associated to coker(M). The range of twists is determined by l, h.

Display:
The intmat is displayed in a diagram of the following form:
 
                l            l+1                      h
  ----------------------------------------------------------
      n:     h^n(F(l))    h^n(F(l+1))   ......    h^n(F(h))
           ...............................................
      1:     h^1(F(l))    h^1(F(l+1))   ......    h^1(F(h))
      0:     h^0(F(l))    h^0(F(l+1))   ......    h^0(F(h))
  ----------------------------------------------------------
    chi:     chi(F(l))    chi(F(l+1))   ......    chi(F(h))
A '-' in the diagram refers to a zero entry; a '*' refers to a negative entry (= dimension not yet determined). refers to a not computed dimension.
If printlevel>=1, step-by step timings will be printed. If printlevel>=2 we add progress debug messages if printlevel>=3, even all intermediate results...

Note:
This procedure is based on the Bernstein-Gel'fand-Gel'fand correspondence and on Tate resolution ( see [Eisenbud, Floystad, Schreyer: Sheaf cohomology and free resolutions over exterior algebras, Trans AMS 355 (2003)] ).
sheafCohBGG(M,l,h) does not compute all values in the above table. To determine all values of h^i(F(d)), d=l..h, use sheafCohBGG(M,l-n,h+n). Experimental version. Should require less memory.

Example:
 
LIB "sheafcoh.lib";
int pl = printlevel;
// cohomology of structure sheaf on P^4:
//-------------------------------------------
ring r=32001,x(1..5),dp;
module M= getStructureSheaf();
==> 1
==> attr:isCoker, type int 
==> attr:isHomog, type intvec 
int t = timer;
def A=sheafCohBGG(0,-9,4);
==>       -9  -8  -7  -6  -5  -4  -3  -2  -1   0   1   2   3   4
==> ------------------------------------------------------------
==>   4:  70  35  15   5   1   -   -   -   -   -   *   *   *   *
==>   3:   *   -   -   -   -   -   -   -   -   -   -   *   *   *
==>   2:   *   *   -   -   -   -   -   -   -   -   -   -   *   *
==>   1:   *   *   *   -   -   -   -   -   -   -   -   -   -   *
==>   0:   *   *   *   *   -   -   -   -   -   1   5  15  35  70
==> ------------------------------------------------------------
==> chi:   *   *   *   *   1   0   0   0   0   1   *   *   *   *
timer - t;
==> 0
printlevel = voice; A=sheafCohBGG2(0,-9,4); printlevel = pl;
==> 
==>   -------------- TIMINGS --------------
==>   Trunc        Time:  0 
==>     :: Before .Time:  0 
==>     :: kBase   Time:  0 
==>     :: Modulo  Time:  0 
==>     :: Prune   Time:  0 
==>     :: Minbase Time:  0 
==>     :: After  .Time:  0
==> 
==>         ----      RESULTS  ----
==>         Tate Resolution (Length:  14 ):
==>     
==>   70       35       15       5       1       1       5       15       35 \
         70       
==> AR <--   AR <--   AR <--   AR <--  AR <--  AR <--  AR <--  AR <--   AR <-\
   -   AR
==> 
==> 0        1        2        3       4       5       6       7        8    \
       9        
==> 
==> Betti numbers for Tate resolution (diagonal cohomology table):
==>            0     1     2     3     4     5     6     7     8     9
==> ------------------------------------------------------------------
==>    -4:    70    35    15     5     1     -     -     -     -     -
==>    -3:     -     -     -     -     -     -     -     -     -     -
==>    -2:     -     -     -     -     -     -     -     -     -     -
==>    -1:     -     -     -     -     -     -     -     -     -     -
==>     0:     -     -     -     -     -     1     5    15    35    70
==> ------------------------------------------------------------------
==> total:    70    35    15     5     1     1     5    15    35    70
==> Cohomology table:
==>       -9  -8  -7  -6  -5  -4  -3  -2  -1   0   1   2   3   4
==> ------------------------------------------------------------
==>   4:  70  35  15   5   1   -   -   -   -   -   *   *   *   *
==>   3:   *   -   -   -   -   -   -   -   -   -   -   *   *   *
==>   2:   *   *   -   -   -   -   -   -   -   -   -   -   *   *
==>   1:   *   *   *   -   -   -   -   -   -   -   -   -   -   *
==>   0:   *   *   *   *   -   -   -   -   -   1   5  15  35  70
==> ------------------------------------------------------------
==> chi:   *   *   *   *   1   0   0   0   0   1   *   *   *   *
==> 
==>       ----      TIMINGS     -------
==>       Trunc      Time:  0 
==>       Reg        Time:  0 
==>       kStd       Time:  0 
==>       Jacob      Time:  0 
==>       Syz        Time:  0 
==>       Mat        Time:  0 
==>       ------------------------------
==>       Res        Time:  0 
==>       :: NRes    Time:  0 
==>       :: MinRes .Time:  0 
==>       :: Betti  .Time:  0 
==>       ---------------------------------------------------------
==>       Total Time:  0 
==>       ---------------------------------------------------------
==>       
// cohomology of cotangential bundle on P^3:
//-------------------------------------------
ring R=32001,(x,y,z,u),dp;
module M = getCotangentialBundle();
==> 2,2,2,2,2,2
==> 1
==> attr:isCoker, type int 
==> attr:isHomog, type intvec 
int t = timer;
==> // ** redefining t **
def B=sheafCohBGG(M,-8,4);
==>        -8   -7   -6   -5   -4   -3   -2   -1    0    1    2    3    4
==> ---------------------------------------------------------------------
==>   3:  189  120   70   36   15    4    -    -    -    -    *    *    *
==>   2:    *    -    -    -    -    -    -    -    -    -    -    *    *
==>   1:    *    *    -    -    -    -    -    -    1    -    -    -    *
==>   0:    *    *    *    -    -    -    -    -    -    -    6   20   45
==> ---------------------------------------------------------------------
==> chi:    *    *    *  -36  -15   -4    0    0   -1    0    *    *    *
timer - t;
==> 0
printlevel = voice; B=sheafCohBGG2(M,-8,4); printlevel = pl;
==> 
==>   -------------- TIMINGS --------------
==>   Trunc        Time:  0 
==>     :: Before .Time:  0 
==>     :: kBase   Time:  0 
==>     :: Modulo  Time:  0 
==>     :: Prune   Time:  0 
==>     :: Minbase Time:  0 
==>     :: After  .Time:  0
==> 
==>         ----      RESULTS  ----
==>         Tate Resolution (Length:  14 ):
==>     
==>   45       20       6       1       4       15       36       70       12\
   0       189       
==> AR <--   AR <--   AR <--  AR <--  AR <--  AR <--   AR <--   AR <--   AR <\
   --    AR
==> 
==> 0        1        2       3       4       5        6        7        8   \
         9         
==> 
==> Betti numbers for Tate resolution (diagonal cohomology table):
==>            0     1     2     3     4     5     6     7     8     9
==> ------------------------------------------------------------------
==>    -4:    45    20     6     -     -     -     -     -     -     -
==>    -3:     -     -     -     1     -     -     -     -     -     -
==>    -2:     -     -     -     -     -     -     -     -     -     -
==>    -1:     -     -     -     -     4    15    36    70   120   189
==> ------------------------------------------------------------------
==> total:    45    20     6     1     4    15    36    70   120   189
==> Cohomology table:
==>        -8   -7   -6   -5   -4   -3   -2   -1    0    1    2    3    4
==> ---------------------------------------------------------------------
==>   3:  189  120   70   36   15    4    -    -    -    -    *    *    *
==>   2:    *    -    -    -    -    -    -    -    -    -    -    *    *
==>   1:    *    *    -    -    -    -    -    -    1    -    -    -    *
==>   0:    *    *    *    -    -    -    -    -    -    -    6   20   45
==> ---------------------------------------------------------------------
==> chi:    *    *    *  -36  -15   -4    0    0   -1    0    *    *    *
==> 
==>       ----      TIMINGS     -------
==>       Trunc      Time:  0 
==>       Reg        Time:  0 
==>       kStd       Time:  0 
==>       Jacob      Time:  0 
==>       Syz        Time:  0 
==>       Mat        Time:  0 
==>       ------------------------------
==>       Res        Time:  0 
==>       :: NRes    Time:  0 
==>       :: MinRes .Time:  0 
==>       :: Betti  .Time:  0 
==>       ---------------------------------------------------------
==>       Total Time:  0 
==>       ---------------------------------------------------------
==>       
See also: sheafCohBGG.


Top Back: sheafCohBGG Forward: sheafCoh FastBack: sagbi_lib FastForward: sing4ti2_lib Up: sheafcoh_lib Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 3-1-0, Mar 2009, generated by texi2html.