next | previous | forward | backward | up | index | toc

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

## Synopsis

• Usage:
toricRR M
toricRR(M,L)
• Inputs:
• M, , a module over a multigraded polynomial ring
• L, a list, a list of multidegrees of the polynomial ring
• Outputs:
• , a quotient of the differential module obtained by applying the multigraded BGG functor R to M. The size of this quotient is determined by the list L.

## 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)

## Caveat

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