Skip to content

Intersection_Theory

Mahrud Sayrafi edited this page Mar 12, 2021 · 1 revision

title: Intersection Theory permalink: wiki/Intersection_Theory/ layout: wiki

Package CharacteristicClasses

We decided to put different ways of computing characteristic classes into one package. Things the package should be able to do:

  1. compute Chern classes of coherent sheaves on projective space, compute something for coherent sheaves on subschemes of projective space
  2. compute Chern classes and Segre classes of subschemes of projective space, i.e. Chern classes of the tangent bundle of a smooth subscheme, and Segre classes of the normal cone of a general subscheme of projective space.
    1. symbolically
    2. numerically using Bertini

To Do List

  • start with a new empty file CharacteristicClasses.m2
  1. Chern classes of coherent sheaves

    • decide which methods and functions the final package should contain, find a good name, rewrite each of them
      • a function that computes the total Chern class from a Betti table, used by all other functions
      • Chern classes of coherent sheaves on P^n
      • ...
    • document
  2. Chern and Segre classes of varieties

    • find names for all functions that do not collide with the names of functions for coherent sheaves
    1. symbolically
      • proofread everything
        • code
        • documentation
      • understand if more tests are needed. If yes, write more tests.
    2. numerically
      • needed: a version of Bertini that contains the right version of the regenerative cascade
      • understand how interfaces to Bertini and other programs are written
      • apply that in doing the following
        • general handling of Bertini and Bertini files
        • writing Bertini input file
        • reading Bertini output
      • proofread code
      • document
      • proofread documentation
      • write tests for the Bertini option
      • test examples from the article
      • fix bug in Bertini version
      • use examples from article to write tests
      • documentation of chernClass: write that it computes the Chern-Fulton class for singular schemes
      • test whether the handling of Bertini works on other platforms
      • (write installation instructions)
      • give error message if one tries to use Bertini on finite fields
      • write warning page, this is a probabilistic algorithm
      • ResidualStrategy should be a string
      • change option path to BertiniPath or similar
      • and a final round of proofeading (e.g. references) and it should be done.

Discussion

  • Christine: My plan is to implement an existing algorithm for the computation of Chern and Segre classes, so I've posted a project description below. What are your plans and ideas?
  • Kaisa: I am working on a chern polynomial functions. It looks like I have accurate algorithms for chern polynomials of ideals and modules, and something that works for many coherent sheaves. I also have a function that seems to work for calculating the Chern polynomial of a projective variety using the short exact sequence that involves tangent sheaves.

Chern and Segre classes of projective varieties

Chern and Segre classes are important invariants of varieties and schemes, mainly in intersection theory and enumerative geometry. The aim of this project is to implement the algorithms from the following articles:

  • Chern Numbers of Smooth Varieties via Homotopy Continuation and Intersection Theory
  • A method to compute Segre classes

(See relevant papers below.)

There exists a test implementation.

To Do List

  • Implement the symbolic version properly
    • turn the test implementation into a package
    • write proper documentation for segreClass and CFClass (rename to chernClass?)
      • find nice examples
      • explain degree
    • output as polynomial in the hyperplane class?
    • Let user provide Chow ring
    • check user input for correctness
    • allow different kinds of user input (ideal, variety)
    • internal commenting
    • write tests
    • test and proofread everything
    • Find name for package: CharacteristicClasses, ChernSegre? Find names for functions: chernClass vs chern vs ?
    • Rename package to characteristicClasses
  • Implement a numerical version using the regenerative cascade from Bertini
    • --> NAG group
    • write a version of internalSegre that uses bertini's regenerative cascade
      • write bertini-input file and call bertini
      • parse bertini-output file
      • handle special cases
  • Ideas for future work
    • Segre classes s(X,Y) for more general Y
    • CSM classes
    • computing pinch points, ...
    • Euler characteristic
    • Include Aluffi's algorithm or implementation
    • Include examples

Relevant papers

Chern polynomials of projective varieties

Chern polynomials are useful for compactly representing Chern classes of varieties. The file I added to svn has functions for chern polynomials of ideals/modules/coherent sheaves, chern polynomials for the tangent sheaf of a projective variety, and a little function that combinatorially takes a hilbert series to a chern polynomial. CAVEAT: taking the chern polynomial of (tangentSheaf ProjectiveVariety) will *not* give the correct output!! This is still a mystery to me.

To Do List

  • test more rigorously!
    • works for degree d hypersurfaces for sure
    • test against Christine's examples and functions
  • merge with Christine's work?
  • document
    • all the basics
    • include examples

Return to the Main IMA2011 page

Clone this wiki locally