# 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 . More details and relevant definitions can be found in .

References:\break  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.03 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 .
{"ft_lang_label":"__label__en","ft_lang_prob":0.83176875,"math_prob":0.58814126,"size":1298,"snap":"2023-14-2023-23","text_gpt3_token_len":285,"char_repetition_ratio":0.10278207,"word_repetition_ratio":0.0,"special_character_ratio":0.21879815,"punctuation_ratio":0.13392857,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9832185,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2023-03-24T21:22:06Z\",\"WARC-Record-ID\":\"<urn:uuid:de0539f3-ac25-44b0-adf2-e2e2d0f7cadb>\",\"Content-Length\":\"17200\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:fce7f35e-81c3-4a25-8b7d-dd844b879c23>\",\"WARC-Concurrent-To\":\"<urn:uuid:e0282d2e-893b-4ac9-ab57-7ef1415b1926>\",\"WARC-IP-Address\":\"128.174.199.46\",\"WARC-Target-URI\":\"https://faculty.math.illinois.edu/Macaulay2/doc/Macaulay2-1.21/share/doc/Macaulay2/SegreClasses/html/index.html\",\"WARC-Payload-Digest\":\"sha1:RDCWYRAL3YC6YTOTN34CQWAAPSS3ZP6P\",\"WARC-Block-Digest\":\"sha1:YTYBJFEAXRDJVAOU4MB65GQNPOTJSPCM\",\"WARC-Identified-Payload-Type\":\"application/xhtml+xml\",\"warc_filename\":\"/cc_download/warc_2023/CC-MAIN-2023-14/CC-MAIN-2023-14_segments_1679296945289.9_warc_CC-MAIN-20230324211121-20230325001121-00689.warc.gz\"}"}