# fromCDivToWDiv(NormalToricVariety) -- get the map from Cartier divisors to Weil divisors

## Synopsis

• Function: fromCDivToWDiv
• Usage:
fromCDivToWDiv X
• Inputs:
• X, ,
• Outputs:
• , representing the inclusion map from the group of torus-invariant Cartier divisors to the group of torus-invariant Weil divisors

## Description

The group of torus-invariant Cartier divisors is the subgroup of all locally principal torus-invariant Weil divisors. This function produces the inclusion map with respect to the chosen bases for the two finitely-generated abelian groups. For more information, see Theorem 4.2.1 in Cox-Little-Schenck's Toric Varieties.

On a smooth normal toric variety, every torus-invariant Weil divisor is Cartier, so the inclusion map is simply the identity map.

 i1 : PP2 = toricProjectiveSpace 2; i2 : assert (isSmooth PP2 and isProjective PP2) i3 : fromCDivToWDiv PP2 o3 = | 1 0 0 | | 0 1 0 | | 0 0 1 | 3 3 o3 : Matrix ZZ <--- ZZ i4 : assert (fromCDivToWDiv PP2 === id_(weilDivisorGroup PP2))
 i5 : X = smoothFanoToricVariety (4,20); i6 : assert (isSmooth X and isProjective X and isFano X) i7 : fromCDivToWDiv X o7 = | 1 0 0 0 0 0 0 | | 0 1 0 0 0 0 0 | | 0 0 1 0 0 0 0 | | 0 0 0 1 0 0 0 | | 0 0 0 0 1 0 0 | | 0 0 0 0 0 1 0 | | 0 0 0 0 0 0 1 | 7 7 o7 : Matrix ZZ <--- ZZ i8 : assert (fromCDivToWDiv X === id_(weilDivisorGroup X))
 i9 : U = normalToricVariety ({{4,-1},{0,1}},{{0},{1}}); i10 : assert (isSmooth U and not isComplete U) i11 : fromCDivToWDiv U o11 = | 1 0 | | 0 1 | 2 2 o11 : Matrix ZZ <--- ZZ i12 : assert (fromCDivToWDiv U === id_(weilDivisorGroup U))

On a simplicial normal toric variety, every torus-invariant Weil divisor is $\QQ$-Cartier; every torus-invariant Weil divisor has a positive integer multiple that is Cartier.

 i13 : C = normalToricVariety ({{4,-1},{0,1}},{{0,1}}); i14 : fromCDivToWDiv C o14 = | 4 -1 | | 0 1 | 2 2 o14 : Matrix ZZ <--- ZZ i15 : prune cokernel fromCDivToWDiv C o15 = cokernel | 4 | 1 o15 : ZZ-module, quotient of ZZ i16 : assert (rank cokernel fromCDivToWDiv C === 0)

In general, the Cartier divisors are only a subgroup of the Weil divisors.

 i17 : Q = normalToricVariety ({{1,0,0},{0,1,0},{0,0,1},{1,1,-1}},{{0,1,2,3}}); i18 : assert (not isSimplicial Q and not isComplete Q) i19 : fromCDivToWDiv Q o19 = | 1 0 0 | | 0 1 0 | | 0 0 1 | | 1 1 -1 | 4 3 o19 : Matrix ZZ <--- ZZ i20 : prune coker fromCDivToWDiv Q 1 o20 = ZZ o20 : ZZ-module, free i21 : assert (rank coker fromCDivToWDiv Q === 1)
 i22 : Y = normalToricVariety (id_(ZZ^3) | -id_(ZZ^3)); i23 : assert (not isSimplicial Y and isComplete Y) i24 : fromCDivToWDiv Y o24 = | 1 1 1 1 | | -1 1 1 1 | | 1 -1 1 1 | | -1 -1 1 1 | | 1 1 -1 1 | | -1 1 -1 1 | | 1 -1 -1 1 | | -1 -1 -1 1 | 8 4 o24 : Matrix ZZ <--- ZZ i25 : prune cokernel fromCDivToWDiv Y o25 = cokernel | 2 0 0 | | 0 2 0 | | 0 0 2 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | 7 o25 : ZZ-module, quotient of ZZ i26 : assert (rank coker fromCDivToWDiv Y === 4)

This map is computed and cached when the Cartier divisor group is first constructed.