# picardGroup(ToricMap) -- make the induced map between Picard groups

## Synopsis

• Function: picardGroup
• Usage:
picardGroup f
• Inputs:
• f, ,
• Outputs:
• , representing the map of abelian groups between the corresponding Picard groups

## Description

Given a toric map $f : X \to Y$, this method returns the induced map of abelian groups from the Picard group of $Y$ to the Picard group of $X$. In other words, picardGroup is a contravariant functor on the category of normal toric varieties.

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 : f' = picardGroup f o4 = | 1 | | 0 | 2 1 o4 : Matrix ZZ <--- ZZ i5 : assert (isWellDefined f and source f' == picardGroup Y and target f' == picardGroup X)

The induced map between the Picard groups is compatible with the induced map between the groups of torus-invariant Cartier divisors.

 i6 : f'' = cartierDivisorGroup f o6 = | 0 1 | | 0 0 | | 1 0 | | 0 0 | 4 2 o6 : Matrix ZZ <--- ZZ i7 : assert(f' * fromCDivToPic Y == fromCDivToPic X * f'')

Neither the source nor the target of the toric map needs to be smooth.

 i8 : W = weightedProjectiveSpace {1, 1, 2}; i9 : Z = toricBlowup({0, 1, 4}, (W ** toricProjectiveSpace 1), {0, -2, 1}); i10 : assert (not isSmooth W and not isSmooth Z) i11 : g = map(W, Z, matrix{{1,0,0},{0,1,0}}) o11 = | 1 0 0 | | 0 1 0 | o11 : ToricMap W <--- Z i12 : g' = picardGroup g o12 = | 0 | | -1 | | 0 | 3 1 o12 : Matrix ZZ <--- ZZ i13 : assert (isWellDefined g and source g' == picardGroup W and target g' == picardGroup Z) i14 : g'' = cartierDivisorGroup g o14 = | 0 0 0 | | 0 0 0 | | 1 0 0 | | 0 -1 0 | | 0 1 1 | | 0 0 0 | 6 3 o14 : Matrix ZZ <--- ZZ i15 : assert(g' * fromCDivToPic W == fromCDivToPic Z * g'')