# monomials(ToricDivisor) -- list the monomials that span the linear series

## Description

By identifying the coefficients of an effective irreducible torus-invariant divisors with exponents of the generators of the total coordinate ring, each toric divisor on a NormalToricVariety corresponds to a monomial. This method function returns all of the monomials corresponding to linear equivalent toric divisors.

This method function assumes that the underlying toric variety is projective.

Projective space is especially simple.

 i1 : PP2 = toricProjectiveSpace 2; i2 : D1 = 5*PP2_0 o2 = 5*PP2 0 o2 : ToricDivisor on PP2 i3 : M1 = elapsedTime monomials D1 -- 0.0785817 seconds elapsed 5 4 4 2 3 3 2 3 3 2 2 2 2 2 3 2 4 o3 = {x , x x , x x , x x , x x x , x x , x x , x x x , x x x , x x , x x , 2 1 2 0 2 1 2 0 1 2 0 2 1 2 0 1 2 0 1 2 0 2 1 2 ------------------------------------------------------------------------ 3 2 2 3 4 5 4 2 3 3 2 4 5 x x x , x x x , x x x , x x , x , x x , x x , x x , x x , x } 0 1 2 0 1 2 0 1 2 0 2 1 0 1 0 1 0 1 0 1 0 o3 : List i4 : elapsedTime assert (set M1 === set first entries basis(degree D1, ring variety D1)) -- 0.000460566 seconds elapsed

Toric varieties of Picard-rank 2 are slightly more interesting.

 i5 : FF2 = hirzebruchSurface 2; i6 : D2 = 2*FF2_0 + 3 * FF2_1 o6 = 2*FF2 + 3*FF2 0 1 o6 : ToricDivisor on FF2 i7 : M2 = elapsedTime monomials D2 -- 0.0307275 seconds elapsed 2 3 2 3 2 3 o7 = {x x , x x , x x x , x x } 1 3 1 2 0 1 2 0 1 o7 : List i8 : elapsedTime assert (set M2 === set first entries basis (degree D2, ring variety D2)) -- 0.000419611 seconds elapsed i9 : X = kleinschmidt (5, {1,2,3}); i10 : D3 = 3*X_0 + 5*X_1 o10 = 3*X + 5*X 0 1 o10 : ToricDivisor on X i11 : m3 = elapsedTime # monomials D3 -- 6.76814 seconds elapsed o11 = 7909 i12 : elapsedTime assert (m3 === #first entries basis (degree D3, ring variety D3)) -- 0.0243967 seconds elapsed

By exploiting latticePoints, this method function avoids using the basis function.