SegreClasses -- Tests containment of varieties and computes algebraic multiplicity of subvarieties and Fulton-MacPherson intersection products - via a very general Segre class computation

Description

This package tests containment of (irreducible) varieties and computes Segre classes, algebraic multiplicity, and Fulton-MacPherson intersection products. More generally, for subschemes of \PP^{n_1}x...x\PP^{n_m}, this package tests if a top-dimensional irreducible component of the scheme associated to an ideal is contained in the scheme associated to another ideal. Specialized methods to test the containment of a variety in the singular locus of another are provided, these methods work without computing the ideal of the singular locus and can provide significant speed-ups relative to the standard methods when the singular locus has a complicated structure. The package works for subschemes of products of projective spaces. The package implements methods described in [1]. More details and relevant definitions can be found in [1].

References:\break [1] Corey Harris and Martin Helmer. "Segre class computation and practical applications." arXiv preprint arXiv:1806.07408 (2018). Link: https://arxiv.org/abs/1806.07408.

Version

This documentation describes version 1.02 of SegreClasses.

Source code

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

Exports

• Functions and commands
• chowClass -- Finds the (fundamental) class of a subscheme in the Chow ring of the ambient space
• containedInSingularLocus -- This method tests is an irreducible variety is contained in the singular locus of the reduced scheme of an irreducible scheme
• intersectionProduct -- A class in the Chow ring of the ambient space representing the Fulton-MacPherson intersection product of two schemes inside a variety
• isComponentContained -- Tests containment of (irreducible) varieties
• isMultiHom -- Tests if an ideal is multi-homogeneous with respect to the grading of its ring
• makeChowRing -- Makes the Chow ring of a product of projective spaces.
• makeProductRing -- Makes the coordinate ring of a product of projective spaces.
• multiplicity -- This method computes the algebraic (Hilbert-Samuel) multiplicity
• projectiveDegree -- This method computes a single projective degree of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces
• projectiveDegrees -- This method computes the projective degrees of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces
• segre -- This method computes the Segre class of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces
• segreDimX -- This method computes the dimension X part of the Segre class of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces
• Methods
• "chowClass(Ideal)" -- see chowClass -- Finds the (fundamental) class of a subscheme in the Chow ring of the ambient space
• "chowClass(Ideal,QuotientRing)" -- see chowClass -- Finds the (fundamental) class of a subscheme in the Chow ring of the ambient space
• "containedInSingularLocus(Ideal,Ideal)" -- see containedInSingularLocus -- This method tests is an irreducible variety is contained in the singular locus of the reduced scheme of an irreducible scheme
• "intersectionProduct(Ideal,Ideal,Ideal)" -- see intersectionProduct -- A class in the Chow ring of the ambient space representing the Fulton-MacPherson intersection product of two schemes inside a variety
• "intersectionProduct(Ideal,Ideal,Ideal,QuotientRing)" -- see intersectionProduct -- A class in the Chow ring of the ambient space representing the Fulton-MacPherson intersection product of two schemes inside a variety
• "isComponentContained(Ideal,Ideal)" -- see isComponentContained -- Tests containment of (irreducible) varieties
• "isMultiHom(Ideal)" -- see isMultiHom -- Tests if an ideal is multi-homogeneous with respect to the grading of its ring
• "makeChowRing(Ring)" -- see makeChowRing -- Makes the Chow ring of a product of projective spaces.
• "makeChowRing(Ring,Symbol)" -- see makeChowRing -- Makes the Chow ring of a product of projective spaces.
• "makeProductRing(List)" -- see makeProductRing -- Makes the coordinate ring of a product of projective spaces.
• "makeProductRing(Ring,List)" -- see makeProductRing -- Makes the coordinate ring of a product of projective spaces.
• "projectiveDegree(Ideal,Ideal,RingElement)" -- see projectiveDegree -- This method computes a single projective degree of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces
• "projectiveDegrees(Ideal,Ideal)" -- see projectiveDegrees -- This method computes the projective degrees of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces
• "projectiveDegrees(Ideal,Ideal,QuotientRing)" -- see projectiveDegrees -- This method computes the projective degrees of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces
• "segre(Ideal,Ideal)" -- see segre -- This method computes the Segre class of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces
• "segre(Ideal,Ideal,QuotientRing)" -- see segre -- This method computes the Segre class of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces
• "segreDimX(Ideal,Ideal,QuotientRing)" -- see segreDimX -- This method computes the dimension X part of the Segre class of a scheme X inside a scheme Y, where X,Y are subschemes of some product of projective spaces

For the programmer

The object SegreClasses is .