A morphism of varieties is proper if it is universally closed. For a toric map $f : X \to Y$ corresponding to the map $g : N_X \to N_Y$ of lattices, this is equivalent to the preimage of the support of the target fan under $g$ being equal to the support of the source fan. For more information about this equivalence, see Theorem 3.4.11 in Cox-Little-Schenck's Toric Varieties.
We illustrate this method on the projection from the second Hirzebruch surface to the projective line.
i1 : X = hirzebruchSurface 2; |
i2 : Y = toricProjectiveSpace 1; |
i3 : f = map(Y, X, matrix {{1,0}}) o3 = | 1 0 | o3 : ToricMap Y <--- X |
i4 : isProper f o4 = true |
i5 : assert (isWellDefined f and source f === X and target f === Y and isProper f) |
The second example shows that the projection from the blow-up of the origin in the affine plane to affine plane is proper.
i6 : A = affineSpace 2; |
i7 : B = toricBlowup({0,1}, A); |
i8 : g = B^[] o8 = | 1 0 | | 0 1 | o8 : ToricMap A <--- B |
i9 : isProper g o9 = true |
i10 : assert(isWellDefined g and g == map(A, B, 1) and isProper g) |
The natural inclusion of the affine plane into the projective plane is not proper.
i11 : A = affineSpace 2; |
i12 : P = toricProjectiveSpace 2; |
i13 : f = map(P, A, 1) o13 = | 1 0 | | 0 1 | o13 : ToricMap P <--- A |
i14 : isProper f o14 = false |
i15 : isDominant f o15 = true |
i16 : assert (isWellDefined f and not isProper f and isDominant f) |
To avoid repeating a computation, the package caches the result in the CacheTable of the toric map.