next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Divisor :: OO RWeilDivisor

OO RWeilDivisor -- calculate module corresponding to divisor

Synopsis

Description

Get the associated module $O(D)$ of a Weil Divisor $D$. In the affine case, $O(D)$ is by definition the set of elements $f$ of the fraction field such that $D + Div(f) \geq 0$. We represent this as a module. In the projective case, $O(D)$ is the coherent sheaf of such elements, and hence we represent it as a graded module. For example, consider the following modules on $P^2$.

i1 : R = ZZ/7[x,y,z];
i2 : D = divisor(x);

o2 : WeilDivisor on R
i3 : OO(D)

      1
o3 = R

o3 : R-module, free, degrees {-1}
i4 : OO(2*D)

      1
o4 = R

o4 : R-module, free, degrees {-2}
i5 : OO(0*D)

      1
o5 = R

o5 : R-module, free
i6 : OO(-3*D)

      1
o6 = R

o6 : R-module, free, degrees {3}

Next, consider an example on $P^1 \times P^1$.

i7 : R = QQ[x, y, u, v] / ideal(x * y - u * v);
i8 : D1 = divisor(ideal(x, u))

o8 = Div(x, u)

o8 : WeilDivisor on R
i9 : D2 = divisor(ideal(x, v))

o9 = Div(x, v)

o9 : WeilDivisor on R
i10 : OO( D1 )

o10 = image {-1} | x v |
            {-1} | u y |

                              2
o10 : R-module, submodule of R
i11 : OO(D1 + D2)

o11 = image {-2} | x |
            {-2} | v |
            {-2} | u |
            {-2} | y |

                              4
o11 : R-module, submodule of R

To get the associated module $O(D)$ for a rational/real divisor $D$, we first obtain a new divisor $D'$ whose coefficients are the floor of the coefficients of $D$, and take $O(D')$ as $O(D)$.

i12 : R = QQ[x, y, u, v] / ideal(x * y - u * v);
i13 : D2 = divisor({3/5, -4/7, 9/4, -7/8}, {ideal(x, u), ideal(x, v), ideal(y, u), ideal(y, v)}, CoefficientType=>QQ)

o13 = -7/8*Div(y, v) + 3/5*Div(x, u) + -4/7*Div(x, v) + 9/4*Div(y, u)

o13 : QWeilDivisor on R
i14 : OO( D2 )

o14 = image {-1} | y2 yv v2 |
            {-1} | u2 xu x2 |

                              2
o14 : R-module, submodule of R
i15 : OO( floor(D2) )

o15 = image {-1} | y2 yv v2 |
            {-1} | u2 xu x2 |

                              2
o15 : R-module, submodule of R

Note that you can call the divisor constructor on the module you construct, but it will only produce a divisor up to linear equivalence (which can mean different things depending on whether or not you are keeping track of the grading).

i16 : R = ZZ/11[x,y];
i17 : D = divisor(x*y/(x+y))

o17 = Div(x) + Div(y) + -Div(x+y)

o17 : WeilDivisor on R
i18 : divisor(OO(D))

o18 = 0, the zero divisor

o18 : WeilDivisor on R
i19 : divisor(OO(D), IsGraded=>true)

o19 = Div(x)

o19 : WeilDivisor on R

The output value of this function is stored in the divisor's cache.

See also