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

AnalyzeSheafOnP1 -- Describe a graded module over k[x,y] without 0-dimensional torsion

Description

Any sheaf on P1 is the direct sum of line bundles-- and cyclic skyscraper sheaves represented by modules of the form k[x,y]/(l^m) where l is an kirreducible homogeneous polynomial and m is a non-negative integer. The routine "analyze" computes the twists and the annihilators l^m that appear in the decomposition, starting from a coherent sheaf on P1 or a graded module over a polynomial ring on 2 variables.

i1 : k = ZZ/5

o1 = k

o1 : QuotientRing
i2 : S = k[a,b]

o2 = S

o2 : PolynomialRing
i3 : M = S^1/ideal(a^3)++S^{-1}/(ideal b^2)++S^1/(ideal b^2)++ S^{-1,1}

o3 = cokernel {0}  | a3 0  0  |
              {1}  | 0  b2 0  |
              {0}  | 0  0  b2 |
              {1}  | 0  0  0  |
              {-1} | 0  0  0  |

                            5
o3 : S-module, quotient of S
i4 : L = analyze M;
i5 : twists = L_0

o5 = {1, -1}

o5 : List
i6 : anns = L_1

         3   2   2
o6 = {-2a , b , b }

o6 : List
i7 : analyze sheaf M

                 3   2   2
o7 = {{1, -1}, {a , b , b }, {1}  | 0 0 0 1 0 |, | a3 0  0  |}
                             {-1} | 0 0 0 0 1 |  | 0  b2 0  |
                                                 | 0  0  b2 |

o7 : List

Caveat

The script uses a linear nonzerodivisor, which would not exist over a finite field in the case where every point of P1 is the support of one of the skyscraper components.

Author

Version

This documentation describes version 0.1 of AnalyzeSheafOnP1.

Source code

The source code from which this documentation is derived is in the file AnalyzeSheafOnP1.m2.

Exports

  • Functions and commands
    • analyze -- Compute the decomposition of a sheaf on P1
    • doubleDualMap -- map from a module to its double dual
    • isNZD -- tests whether a ring element is a non zerodivisor on a module
    • killH0 -- removes 0-dimensional torsion
    • showSheafOnP1 -- Prints the analysis of a sheaf on P1
  • Methods
    • analyze(Module) -- see analyze -- Compute the decomposition of a sheaf on P1
    • doubleDualMap(Module) -- see doubleDualMap -- map from a module to its double dual
    • isNZD(RingElement,Module) -- see isNZD -- tests whether a ring element is a non zerodivisor on a module
    • killH0(Module) -- see killH0 -- removes 0-dimensional torsion
    • showSheafOnP1(Module) -- see showSheafOnP1 -- Prints the analysis of a sheaf on P1

For the programmer

The object AnalyzeSheafOnP1 is a package.