Divisors on toric varieties work in the same way as on any other varieties, except that within each linear equivalence class it is possible to choose torus invariant representatives. These invariant divisors are composed of toric strata, and so in raw combinatorial terms one can regard divisors as being integer (or rational) labels on the rays of the fan. This is a convenient way to construct divisors, but there are many other methods.
As for other schemes on which divisor calculations are defined in Magma, divisors on a toric variety have a single divisor group as their parent. Divisors can be constructed by coercing appropriate data into this group, but this is not the only method so it can be ignored for most purposes. (This group is, however, the connection between divisors and the toric variety, so it is always alive in the background.)
The divisor group of the toric variety X. This is simply a parent object for divisors on X, and it is not computed as an abstract group.
The toric variety of which G is the divisor group.
Return true if and only if the divisor groups G1 and G2 are those of the same toric variety.
The divisor on the toric variety X associated to the divisor group G with coefficients given by the sequence S of integers or rationals with respect to the rays of the fan of X.
The divisor on the toric variety X associated to the divisor group G given by the vanishing of the ith coordinate of X.
Standard arithmetic operations for divisors D, D1, D2 on a toric variety, where n∈Q and v is a point of the ambient toric lattice of the corresponding fan.
The Weil divisor (respectively Q-Weil divisor) on the toric variety X whose multiplicity on the ith coordinate divisor is the ith element of the sequence S of integers (respectively, rational numbers).
The divisor on the toric variety X given by the vanishing of the ith coordinate of X.
The divisor on the toric variety X defined by the polynomial f of the Cox ring of X.
If m is in the monomial lattice of the toric variety X, this gives the principal divisor on X corresponding to the monomial m. If m is a form on the ray lattice of X, then this gives the Weil divisor corresponding to m.
The zero divisor on the toric variety X.
effective: BoolElt Default: true
A divisor D on the toric variety X whose class modulo linear equivalence equals m, an element of the divisor class group of X. Unless the parameter effective is set to false, D will be chosen to be effective if possible.
effective: BoolElt Default: true
A divisor D on the toric variety X whose class modulo linear equivalence equals m, an element of the Picard lattice or divisor class lattice of X. Unless the parameter effective is set to false, D will be chosen to be effective if possible.
The canonical divisor of the toric variety X.
group: MonStgElt Default: "Pic"
The class of canonical divisor of the toric variety X. By default this is returned as an element of the Picard lattice of X (and X must be Q-Gorenstein for this to make sense). However, the parameter group can be changed to Cl to return the divisor in the divisor class lattice or ClZ to return the divisor in the divisor class group.
> L := ToricLattice(3); > C := PositiveQuadrant(L); > v := L![1/7,2/7,5/7]; > LL,phi := AddVectorToLattice(v); > CC := Cone(phi(Rays(C))); > CC; 3-dimensional simplicial cone CC with 3 minimal generators: (1, 0, 0), (0, 1, 0), (4, 1, 7)Now we compute the blowup.
> FF := Fan(CC); > vv := phi(v); > vv; (3, 1, 5) > GG := Blowup(Fan(CC),vv);The blowup map is easy to recover:
> X := ToricVariety(Rationals(),FF); > Y<x,y,z,t> := ToricVariety(Rationals(),GG); > f := ToricVarietyMap(Y,X); > f; A map between toric varieties described by: (t)^(2/7)*(x), (t)^(1/7)*(y), (t)^(5/7)*(z)Finally we shall compute the discrepancy of this Kawamata blowup. It should be 1/7.
> KX := CanonicalDivisor(X); > KY := CanonicalDivisor(Y); > KY - Pullback(f,KX); Q-Weil divisor with coefficients: 0, 0, 0, 1/7
The toric variety on which the divisor D is defined.
The divisor group of a toric variety in which the divisor D lies.
The multiplicities on rays of the fan of X that determine the invariant divisor D, where X is the toric variety on which D is defined.
The sequence of toric lattice elements (of the monomial lattice of X) that determine the divisor D on the toric affine patches of the toric variety X on which D lies. This requires that D be Q-Cartier.
Return true if and only if some integer multiple of the divisor D on a toric variety is Cartier.
Return true if and only if the divisor D on a toric variety is Cartier.
Return true if and only if the divisor D on a toric variety is a Weil divisor (that is, its coefficients are integers rather than rational numbers).
Returns true if and only if the divisor D on a toric variety is ample.
Return true if and only if the divisor D on a toric variety is nef.
Return true if and only if the divisor D on a toric variety is big.
Return true if and only if the divisor D on a toric variety is effective.
The class in the Picard lattice corresponding to the Q-Cartier divisor D.
The movable part (or mobile part) of the divisor D on a toric variety.
> X := ProjectiveSpace(Rationals(),[1,1,1]); > Y<u,v,x,y> := Blowup(X, &+Rays(Fan(X))[1..2]); > Y; Toric variety of dimension 2 Variables: u, v, x, y The components of the irrelevant ideal are: (y, x), (v, u) The 2 gradings are: 0, 0, 1, 1, 1, 1, 1, 0We consider a (toric coordinate) divisor on Y.
> D := Divisor(Y,4); > MovablePart(D); Weil divisor with coefficients: 0, 0, 0, 0 > MovablePart(D) eq ZeroDivisor(Y); trueThe movable part of this divisor is the zero divisor. Adding a little bit of another effective divisor doesn't yet make a mobile divisor, but it has made it stably mobile: some multiple now has a movable part.
> E := D + (1/2)*Divisor(Y,u); > MovablePart(E); Weil divisor with coefficients: 0, 0, 0, 0 > MovablePart(2*E); Weil divisor with coefficients: 1, 0, 0, 1 > MovablePart(2*E) eq (D + Divisor(Y,u)); true
The dual fan to the rational polyhedron of sections of the divisor D on a toric variety X. If X is a complete variety, this will give the fan of Proj of the ring of sections of positive powers of D.
Proj (as a toric variety) of the ring of sections of the divisor D on a toric variety. The map of underlying lattices which determines the map Variety(D) -> Proj(D) is also returned.
The relative (sheaf) Proj of sections of the divisor D on a toric variety. If D is Q-Cartier, then the identity will be constructed; for non Q-Cartier divisors, a partial Q-factorialisation will be given.
If the cone C is a codimension 1 face of the fan of the toric variety X, return the dual toric lattice vector that represents intersection of the toric subvariety corresponding to C.
The sequence of forms on the Picard lattice of the toric variety X which define the intersection forms with all torus invariant curves.
The embedding map from the lattice of torus-invariant Cartier divisors to the lattice of torus-invariant Weil divisors of the toric variety X.
The embedding of the Picard group of X into the divisor class group.
The natural embedding of the Picard lattice of X into divisor class lattice.
Return true if and only if some integer multiple of the divisor D on a toric variety is principal.
Return true if and only if the divisor D on a toric variety is principal.
Return true if and only if the divisor D on a toric variety is linearly equivalent to a Cartier divisor; if so, then a representative Cartier divisor is also returned.
Return true if and only if the divisors D and E are linearly equivalent.
A divisor linearly equivalent to the divisor D, with no support on the locus defined by S. S should be a sequence of variables on the variety of D. If S has more than just variables, the other polynomials will be ignored.
The monomial (if D is effective) or rational monomial defining the divisor D on a toric variety.
The monomial in the Cox ring that corresponds to the monomial lattice element v when regarded as a section of the divisor D.
The Riemann--Roch space of the divisor D as a polytope in the monomial lattice of the underlying toric variety.
A basis of the Riemann--Roch space of the divisor D on a toric variety X: this is a sequence of rational functions on X.
The dimension of the Riemann--Roch space of the divisor D on a toric variety.
The graded cone of sections of multiples of the divisor D on a toric variety. In other words, the integral points of the ith graded piece of this cone represent sections of the divisor i * D.
The integral polyhedron whose integral points corresponds to sections of the divisor D.
> X := ProjectiveSpace(Rationals(),[1,1,1]); > Y<u,v,x,y> := Blowup(X, &+Rays(Fan(X))[1..2]); > Y; Toric variety of dimension 2 Variables: u, v, x, y The components of the irrelevant ideal are: (y, x), (v, u) The 2 gradings are: 0, 0, 1, 1, 1, 1, 1, 0We make a non-effective divisor as a difference of fibres of the natural map from Y to the line.
> D := 2*Divisor(Y,u) - Divisor(Y,v); > IsEffective(D); false > P := Polyhedron(D); > monos := [ LatticeElementToMonomial(D,v) : v in Points(P) ]; > monos; [ u, v ]The polyhedron P is not quite the Riemann--Roch space of D, but it is for a divisor linearly equivalent to D.
> [ AreLinearlyEquivalent(Divisor(Y,m),D) : m in monos ]; [ true, true ]
The Hilbert series of the divisor D on a toric variety X, namelyΣm≥0 dim H0(X, mD).
This assumes that the spaces of sections H0(X, D) of D finite dimensional. This will be true if X is projective, for example, but it holds in other cases too.
The Hilbert (quasi-)polynomial for the divisor D. The space of sections of D must be finite dimensional. That is, a sequence of polynomials [p0, ..., pr - 1] of length r, the quasi-period of the Hilbert polynomial, so that dim H0(X, mD) is the value of ps(k) where m=kr + s is the Euclidean division of m by r; in other words, s is the least residue of m modulo r. Note that since Magma indexes sequences from 1, we have that pi = HilbertPolynomial(D)[i+1].
The first l + 1 coefficients of the Hilbert series of the divisor D on a toric variety (starting with 0D up to and including lD).
Thefirst ith coefficient of the Hilbert series of the divisor D on a toric variety.
The Hilbert δ-vector (or h * -vector) for the divisor D on a toric variety.
H0(X, (O)X(D)) = ∩σ (mσ + check(σ))
where the sum is taken over top-dimensional cones σ in the fan of X, and mσ is the monomial in the dual lattice which determines D on the affine patch Xσ; check(σ) is the cone dual to σ.
> X<x,y,z> := ProjectiveSpace(Rationals(),[1,3,5]); > D := Divisor(X,[2,3,1]); > cones := Cones(Fan(X)); > RRD := &meet [ Polytope([Cartier(D)[i]]) + Dual(cones[i]) : i in [1..3]]; > IsPolytope(RRD); trueWe could compute the number of points of this cone RRD by saying #Points(RRD). This should be regarded as a slow method to determine the number of points---after all, it requires us to find all the points before counting them. There is a specialised point-counting intrinsic NumberOfPoints which does not find the points first. The latter should be used for point counting, although in relatively small examples the former can be a little faster.
> NumberOfPoints(RRD); 14To compute also the number of points of integral dilations of this polytope, we revert to using the divisor and computing its Hilbert series (or a few coefficients if that's all we need).
> time HilbertCoefficients(D,10); [ 1, 14, 44, 92, 156, 238, 337, 452, 585, 735, 902 ] > h<t> := HilbertSeries(D); > h; (-4*t^8 - 21*t^7 - 38*t^6 - 51*t^5 - 51*t^4 - 47*t^3 - 30*t^2 - 13*t - 1)/(t^9 - t^8 - t^6 + t^5 - t^4 + t^3 + t - 1) > h * (1 - t) * (1 - t^3) * (1 - t^5); 4*t^8 + 21*t^7 + 38*t^6 + 51*t^5 + 51*t^4 + 47*t^3 + 30*t^2 + 13*t + 1