Macaulay2 » Documentation
Packages » MultigradedBGG :: toricRR
next | previous | forward | backward | up | index | toc

toricRR -- computes the BGG functor of a module over a multigraded polynomial ring.

Description

Let $A$ be a finitely generated free abelian group. Given an $A$-graded polynomial ring $S$ with $A \oplus \mathbb{Z}$-graded Koszul dual exterior algebra E, the BGG functor $\mathbf{R}$ sends an $S$-module $M$ to a free differential $E$-module with linear differential: see Section 3 of the paper accompanying this package for details. The free $E$-module underlying $\mathbf{R}(M)$ is $\bigoplus_{d \in A} M_d \otimes_k E^*(-d, 0)$, where $E^*$ denotes the dual of $E$ over the ground field $k$. This module has rank given by the dimension of $M$ as a $k$-vector space, which is typically infinite. Thus, this method usually only computes a finite rank quotient of $\mathbf{R}(M)$. Specifically: toricRR(M) is the quotient of $\mathbf{R}(M)$ given by those summands $M_d \otimes_k E^*(-d, 0)$ such that $d = e + a \operatorname{deg}(x_i)$, where $e$ is a generating degree of $M$, $a \in \{0,1\}$, and $0 \le i \le n$.

i1 : S = ring weightedProjectiveSpace {1,1,2}

o1 = S

o1 : PolynomialRing
i2 : M = coker random(S^2, S^{3:{-5}});
i3 : toricRR M

                 14                 14                 14
o3 = (QQ[e ..e ])   <-- (QQ[e ..e ])   <-- (QQ[e ..e ])
          0   2              0   2              0   2
                                            
     -1                 0                  1

o3 : DifferentialModule
i4 : T = ring hirzebruchSurface 3;
i5 : M' = coker matrix{{x_0}}

o5 = cokernel | x_0 |

                            1
o5 : T-module, quotient of T
i6 : toricRR M'

                 9                 9                 9
o6 = (QQ[e ..e ])  <-- (QQ[e ..e ])  <-- (QQ[e ..e ])
          0   3             0   3             0   3
                                          
     -1                0                 1

o6 : DifferentialModule

There is also an optional input for a list L of degrees in $A$: toricRR(M, L) is the quotient $\bigoplus_{a \in L} M_d \otimes_k E^*(-d, 0)$ of $\mathbf{R}(M)$.

i7 : L = {{0,0}, {1,0}}

o7 = {{0, 0}, {1, 0}}

o7 : List
i8 : toricRR(M',L)

                 2                 2                 2
o8 = (QQ[e ..e ])  <-- (QQ[e ..e ])  <-- (QQ[e ..e ])
          0   3             0   3             0   3
                                          
     -1                0                 1

o8 : DifferentialModule

For some lists of degrees L, the denominator of the quotient is not a differential module. Hence, the method sometimes enlarges the list of degrees in order to have a well-defined quotient. We demonstrate that phenomenon with the following example.

i9 : S = ring hirzebruchSurface 1

o9 = S

o9 : PolynomialRing
i10 : L1 = {{0,0}, {1,0}, {0,1}}

o10 = {{0, 0}, {1, 0}, {0, 1}}

o10 : List
i11 : L2 = {{0,0}, {1,0}, {0,1}, {-1,1}};
i12 : N1 = toricRR(S^1, L1);
i13 : N2 = toricRR(S^1, L2);
i14 : phi = map(ring N2, ring N1, gens ring N2)

o14 = map (QQ[e ..e ], QQ[e ..e ], {e , e , e , e })
               0   3       0   3     0   1   2   3

o14 : RingMap QQ[e ..e ] <-- QQ[e ..e ]
                  0   3          0   3
i15 : assert(phi N1.dd_0 - N2.dd_0 == 0)

One can compute sheaf cohomology over weighted projective spaces using the multigraded BGG correspondence, A detailed explanation can be found in Example 3.3 of the paper accompanying this package.

i16 : X = weightedProjectiveSpace {1,1,2};
i17 : S = ring X;
i18 : M = coker matrix{{x_0, x_1}};
i19 : D = toricRR(M, for i from 0 to 4 list {i})

                  3                 3                 3
o19 = (QQ[e ..e ])  <-- (QQ[e ..e ])  <-- (QQ[e ..e ])
           0   2             0   2             0   2
                                           
      -1                0                 1

o19 : DifferentialModule
i20 : F = resDM(D, 3)

                  6                 6                 6
o20 = (QQ[e ..e ])  <-- (QQ[e ..e ])  <-- (QQ[e ..e ])
           0   2             0   2             0   2
                                           
      -1                0                 1

o20 : DifferentialModule
i21 : F.dd_0

o21 = {8, 3}  | 0 0 e_2 0   0   0   |
      {2, 2}  | 0 0 0   e_2 0   0   |
      {6, 3}  | 0 0 0   0   e_2 0   |
      {0, 2}  | 0 0 0   0   0   e_2 |
      {4, 3}  | 0 0 0   0   0   0   |
      {-2, 2} | 0 0 0   0   0   0   |

                         6                 6
o21 : Matrix (QQ[e ..e ])  <-- (QQ[e ..e ])
                  0   2             0   2
i22 : kk = coker vars ring F_0;
i23 : sum flatten entries basis({-2,-1}, Hom(kk, F_0)) == rank HH^0(X, sheaf(M**S^{{-2}}))

o23 = true

Caveat

A heft vector is necessary for the computation to produce a well-defined differential module.

See also

Ways to use toricRR:

  • toricRR(Module)
  • toricRR(Module,List)

For the programmer

The object toricRR is a method function.


The source of this document is in MultigradedBGG.m2:952:0.