<?xml version="1.0" encoding="utf-8" ?> <!-- for emacs: -*- coding: utf-8 -*- --> <!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head><title>AbstractVariety -- The Schubert2 data type of an abstract variety</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_abstract__Variety.html">next</a> | <a href="_abstract__Sheaf.html">previous</a> | <a href="_abstract__Variety.html">forward</a> | <a href="_abstract__Sheaf.html">backward</a> | up | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div> </td> </tr> </table> <hr/> <div><h1>AbstractVariety -- The Schubert2 data type of an abstract variety</h1> <div class="single"><h2>Description</h2> <div><p>An Abstract Variety in Schubert 2 is defined by its dimension and a QQ-algebra, interpreted as the rational Chow ring. For example, the following code defines the abstract variety corresponding to P2, with its Chow ring A. Once the variety X is created, we can access its structure sheaf OO<sub>X</sub>, represented by its Chern class</p> <div/> <table class="examples"><tr><td><pre>i1 : A=QQ[t]/ideal(t^3) o1 = A o1 : QuotientRing</pre> </td></tr> <tr><td><pre>i2 : X=abstractVariety(2,A) o2 = X o2 : an abstract variety of dimension 2</pre> </td></tr> <tr><td><pre>i3 : OO_X o3 = a sheaf o3 : an abstract sheaf of rank 1 on X</pre> </td></tr> <tr><td><pre>i4 : chern OO_X o4 = 1 o4 : A</pre> </td></tr> </table> <div>A variable of type AbstractVariety is actually of type MutableHashTable, and can contain other information, such as its <tt>TangentBundle</tt> (missing documentation<!-- tag: TangentBundle -->). Once this is defined, we can compute the Todd class.</div> <table class="examples"><tr><td><pre>i5 : X.TangentBundle = abstractSheaf(X,Rank=>2, ChernClass=>(1+t)^3) o5 = a sheaf o5 : an abstract sheaf of rank 2 on X</pre> </td></tr> <tr><td><pre>i6 : todd X 3 2 o6 = 1 + -t + t 2 o6 : A</pre> </td></tr> </table> <div>If we want things like the Euler characteristic of a sheaf, we must also specify a method to take the <tt>integral</tt> (missing documentation<!-- tag: integral -->) for the Chow ring A; in the case where A is Gorenstein, as is the Chow ring of a complete nonsingular variety, this is a functional that takes the highest degree component. In the following example, The sheaf OO<sub>X</sub> is the structure sheaf of X, and OO<sub>X</sub>(2t) is the line bundle with first Chern class 2t. The computation of the Euler Characteristic is made using the Todd class and the Riemann-Roch formula.</div> <table class="examples"><tr><td><pre>i7 : integral A := f -> coefficient(t^2,f) o7 = {*Function[stdio:7:16-7:35]*} o7 : FunctionClosure</pre> </td></tr> <tr><td><pre>i8 : chi(OO_X(2*t)) o8 = 6 o8 : QQ</pre> </td></tr> </table> <div>There are several other methods for constructing abstract varieties: the following functions construct basic useful varieties (often returning the corresponding structure map). <a href="_projective__Space.html" title="Makes an AbstractVariety representing projective space">projectiveSpace</a>, <tt>projectiveBundle</tt> (missing documentation<!-- tag: projectiveBundle -->), <tt>flagBundle</tt> (missing documentation<!-- tag: flagBundle -->), <a href="_base.html" title="an abstract variety, defined with some parameters and some bundles">base</a>. Text This package and its documentation are still rather incomplete, but see the examples <a href="___Lines_spon_sphypersurfaces.html" title="Example using Schubert2">Lines on hypersurfaces</a> and <a href="___Conics_spon_spa_spquintic_spthreefold.html" title="Example using Schubert2">Conics on a quintic threefold</a>, which should be enough to figure out some of what’s possible.</div> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="___Abstract__Sheaf.html" title="the class of sheaves given by their Chern classes">AbstractSheaf</a> -- the class of sheaves given by their Chern classes</span></li> <li><span><tt>chern</tt> (missing documentation<!-- tag: chern -->)</span></li> <li><span><tt>chi</tt> (missing documentation<!-- tag: chi -->)</span></li> <li><span><tt>TangentBundle</tt> (missing documentation<!-- tag: TangentBundle -->)</span></li> <li><span><tt>todd</tt> (missing documentation<!-- tag: todd -->)</span></li> </ul> </div> <div class="waystouse"><h2>Types of abstract variety :</h2> <ul><li><span><tt>FlagBundle</tt> (missing documentation<!-- tag: FlagBundle -->)</span></li> </ul> <h2>Methods that use an abstract variety :</h2> <ul><li><span><tt>abstractSheaf(AbstractVariety)</tt> (missing documentation<!-- tag: (abstractSheaf,AbstractVariety) -->)</span></li> <li><span><tt>abstractSheaf(AbstractVariety,RingElement)</tt> (missing documentation<!-- tag: (abstractSheaf,AbstractVariety,RingElement) -->)</span></li> <li><span><tt>dim(AbstractVariety)</tt> (missing documentation<!-- tag: (dim,AbstractVariety) -->)</span></li> <li><span><tt>flagBundle(List,AbstractVariety)</tt> (missing documentation<!-- tag: (flagBundle,List,AbstractVariety) -->)</span></li> <li><span><tt>intersectionRing(AbstractVariety)</tt> (missing documentation<!-- tag: (intersectionRing,AbstractVariety) -->)</span></li> <li><span><tt>net(AbstractVariety)</tt> (missing documentation<!-- tag: (net,AbstractVariety) -->)</span></li> <li><span><tt>OO _ AbstractVariety</tt> (missing documentation<!-- tag: (_,OO,AbstractVariety) -->)</span></li> <li><span><tt>projectiveBundle(ZZ,AbstractVariety)</tt> (missing documentation<!-- tag: (projectiveBundle,ZZ,AbstractVariety) -->)</span></li> <li><span><tt>projectiveSpace(ZZ,AbstractVariety)</tt> (missing documentation<!-- tag: (projectiveSpace,ZZ,AbstractVariety) -->)</span></li> <li><span><tt>tangentBundle(AbstractVariety)</tt> (missing documentation<!-- tag: (tangentBundle,AbstractVariety) -->)</span></li> <li><span><tt>todd(AbstractVariety)</tt> (missing documentation<!-- tag: (todd,AbstractVariety) -->)</span></li> <li><span><tt>use(AbstractVariety)</tt> (missing documentation<!-- tag: (use,AbstractVariety) -->)</span></li> </ul> <h2>Fixed objects of class AbstractVariety :</h2> <ul><li><span><tt>point</tt> (missing documentation<!-- tag: point -->)</span></li> </ul> </div> <div class="waystouse"><h2>For the programmer</h2> <p>The object <a href="___Abstract__Variety.html" title="The Schubert2 data type of an abstract variety">AbstractVariety</a> is <span>a <a href="../../Macaulay2Doc/html/___Type.html">type</a></span>, with ancestor classes <a href="../../Macaulay2Doc/html/___Mutable__Hash__Table.html" title="the class of all mutable hash tables">MutableHashTable</a> < <a href="../../Macaulay2Doc/html/___Hash__Table.html" title="the class of all hash tables">HashTable</a> < <a href="../../Macaulay2Doc/html/___Thing.html" title="the class of all things">Thing</a>.</p> </div> </div> </body> </html>