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

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

    o6 : List

    i7 : analyze sheaf M

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

    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

- David Eisenbud <de@msri.org>

## Version

This documentation describes version 0.1 of AnalyzeSheafOnP1, released June 3, 2015.

## Citation

If you have used this package in your research, please cite it as follows:

    @misc{AnalyzeSheafOnP1Source,
      title = {{AnalyzeSheafOnP1: decompose a Sheaf on P1. Version~0.1}},
      author = {David Eisenbud},
      howpublished = {A \emph{Macaulay2} package available at
        \url{https://github.com/Macaulay2/M2/tree/stable/M2/Macaulay2/packages}}
    }

## 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, defined in AnalyzeSheafOnP1.m2.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/AnalyzeSheafOnP1.m2:125:0.