# classGroup(ToricMap) -- make the induced map between class groups

## Synopsis

• Function: classGroup
• Usage:
classGroup f
• Inputs:
• f, , with a smooth target
• Outputs:
• , representing the map of abelian groups between the corresponding class groups

## Description

Given a toric map $f : X \to Y$ where $Y$ a smooth toric variety, this method returns the induced map of abelian groups from the class group of $Y$ to the class group of $X$. For arbitrary normal toric varieties, the classGroup is not a functor. However, classGroup is a contravariant functor on the category of smooth 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' = classGroup f o4 = | 1 | | 0 | 2 1 o4 : Matrix ZZ <--- ZZ i5 : assert (isWellDefined f and source f' == classGroup Y and target f' == classGroup X)

The induced map between the class groups is compatible with the induced map between the groups of torus-invariant Weil divisors.

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

The source of the toric map need not be smooth.

 i8 : Z = toricBlowup({0, 1}, X, {1,2}); i9 : assert (isWellDefined Z and not isSmooth Z) i10 : g = map(Y, Z, matrix{{1, 0}}) o10 = | 1 0 | o10 : ToricMap Y <--- Z i11 : g' = classGroup g o11 = | 1 | | 0 | | 0 | 3 1 o11 : Matrix ZZ <--- ZZ i12 : g'' = weilDivisorGroup g o12 = | 0 1 | | 0 0 | | 1 0 | | 0 0 | | 0 1 | 5 2 o12 : Matrix ZZ <--- ZZ i13 : assert(g' * fromWDivToCl Y == fromWDivToCl Z * g'') i14 : assert (isWellDefined g and source g' == classGroup Y and target g' == classGroup Z)