Macaulay2 » Documentation
Packages » ToricHigherDirectImages :: nefContraction
next | previous | forward | backward | up | index | toc

nefContraction -- produce a contraction from a vector in the nef cone

Description

A vector in the nef cone of a toric variety determines an embedding of the toric variety via GIT quotients. When the vector lies on the boundary of the nef cone, the resulting embedding is typically a "smaller" toric variety on which the original variety can surject. These types of maps are commonly used in the minimal model program (MMP)

More precisely, see Lemma 14.4.6 and Theorem 15.1.10 in HREF("https://dacox.people.amherst.edu/toric.html", "Toric varieties"). The nef cone of a toric variety is a GKZ chamber and each face of this cone is also a GKZ chamber, hence the nef cone of another toric variety. Since both of these are GIT quotients, there is a natural map induced by the projection of vector spaces between the quotients, which this method produces.

The first Hirzebruch surface $\mathbb{F}_1$ comes with two natural maps to $\mathbb{P}^1$ (projection to the base) and $\mathbb{P}^2$ (the blowdown map). Both of these can be realized as maps obtained from the MMP.

i1 : X = hirzebruchSurface 1;
i2 : pi1 = nefContraction(X, vector {1,0})

o2 = | 1 0 |

o2 : ToricMap normalToricVariety ({{1}, {-1}}, {{0}, {1}}) <--- X
i3 : assert(isWellDefined pi1);
i4 : assert(isProjective target pi1 and dim target pi1 == 1);
i5 : pi2 = nefContraction(X, matrix {{0},{1}})

o5 = | 1 0 |
     | 0 1 |

o5 : ToricMap normalToricVariety ({{1, 0}, {-1, 1}, {0, -1}}, {{0, 1}, {0, 2}, {1, 2}}) <--- X
i6 : assert(isProjective target pi1 and dim target pi2 == 2);
i7 : assert(rank picardGroup target pi2 == 1);

If the vector is in the interior of the nef cone, then the resulting toric variety is the same as the original, and so the resulting surjection is just the identity.

i8 : idty = nefContraction(X,{1,1})

o8 = | 1 0 |
     | 0 1 |

o8 : ToricMap normalToricVariety ({{1, 0}, {0, 1}, {-1, 1}, {0, -1}}, {{0, 1}, {0, 3}, {1, 2}, {2, 3}}) <--- X
i9 : assert(rays target idty == rays X);
i10 : assert(max target idty == max X);

See also

Ways to use nefContraction:

  • nefContraction(NormalToricVariety,List)
  • nefContraction(NormalToricVariety,Matrix)
  • nefContraction(NormalToricVariety,Vector)

For the programmer

The object nefContraction is a method function.


The source of this document is in /build/reproducible-path/macaulay2-1.25.05+ds/M2/Macaulay2/packages/ToricHigherDirectImages.m2:759:0.