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.