# isFibration(ToricMap) -- whether a toric map is a fibration

## Synopsis

• Function: isFibration
• Usage:
isFibration f
• Inputs:
• f, ,
• Outputs:
• , that is true if the map is a fibration

## Description

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.