A proper morphism $f : X \to Y$ is a fibration if $f_*(OO_X) = OO_Y$. A proper toric map is a fibration if and only if the underlying map of lattices is a surjection. For more information, see Proposition 2.1 in deCataldo-Migliorini-Mustata, "The combinatorics and topology of proper toric maps" arXiv:1407.3497.
We illustrate this method on the projection from the first Hirzebruch surface to the projective line.
i1 : X = hirzebruchSurface 1; |
i2 : Y = toricProjectiveSpace 1; |
i3 : f = map(Y, X, matrix{{1 ,0}}) o3 = | 1 0 | o3 : ToricMap Y <--- X |
i4 : isFibration f o4 = true |
i5 : assert (isWellDefined f and isFibration f) |
Here is an example of a proper map that is not a fibration.
i6 : Z = weightedProjectiveSpace {1, 1, 2}; |
i7 : g = map(Z, X, matrix{{1, 0}, {0, -2}}) o7 = | 1 0 | | 0 -2 | o7 : ToricMap Z <--- X |
i8 : isFibration g o8 = false |
i9 : assert (isWellDefined g and isProper g and not isFibration g) |
To avoid repeating a computation, the package caches the result in the CacheTable of the toric map.