# classGroup(NormalToricVariety) -- make the class group

## Synopsis

• Usage:
classGroup X
• Function: classGroup
• Inputs:
• 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.

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```