# classGroup(NormalToricVariety) -- make the class group

## Synopsis

• Function: classGroup
• Usage:
classGroup X
• Inputs:
• X, ,
• Outputs:
• , a finitely generated abelian group

## Description

The class group of a variety is the group of Weil divisors divided by the subgroup of principal divisors. For a normal toric variety, the class group has a presentation defined by the map from the group of torus-characters to group of torus-invariant Weil divisors induced by minimal nonzero lattice points on the rays of the associated fan. For more information, see Theorem 4.1.3 in Cox-Little-Schenck's Toric Varieties.

The following examples illustrate some possible class groups.

 i1 : classGroup toricProjectiveSpace 1 1 o1 = ZZ o1 : ZZ-module, free i2 : classGroup hirzebruchSurface 7 2 o2 = ZZ o2 : ZZ-module, free i3 : classGroup affineSpace 3 o3 = 0 o3 : ZZ-module i4 : classGroup normalToricVariety ({{4,-1},{0,1}},{{0,1}}) o4 = cokernel | 4 | 1 o4 : ZZ-module, quotient of ZZ i5 : classGroup normalToricVariety ( id_(ZZ^3) | - id_(ZZ^3)) o5 = cokernel | 2 0 | | 0 2 | | 0 0 | | 0 0 | | 0 0 | | 0 0 | | 0 0 | 7 o5 : ZZ-module, quotient of ZZ

The total coordinate ring of a toric variety is graded by its class group.

 i6 : degrees ring toricProjectiveSpace 1 o6 = {{1}, {1}} o6 : List i7 : degrees ring hirzebruchSurface 7 o7 = {{1, 0}, {-7, 1}, {1, 0}, {0, 1}} o7 : List i8 : degrees ring affineSpace 3 o8 = {{}, {}, {}} o8 : List

To avoid duplicate computations, the attribute is cached in the normal toric variety.