Toric Divisor Classes
Introduction
Toric divisor classes are equivalence classes of Weil divisors modulo linear equivalence.
Constructors
General constructors
ToricDivisorClass — MethodToricDivisorClass(v::AbstractNormalToricVariety, coeffs::Vector{T}) where {T <: IntegerUnion}Construct the toric divisor class associated to a list of integers which specify an element of the class group of the normal toric variety v.
Examples
julia> P2 = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> tdc = ToricDivisorClass(P2, class_group(P2)([fmpz(1)]))
A divisor class on a normal toric varietySpecial constructors
Addition of toric divisor classes tdc1 and tdc2 (on the same toric variety) and scalar multiplication with c (it can be either valued in Int64 or fmpz) is supported via c * tdc1 + tdc2. One can subtract them via tdc1 - tdc2.
Equality
Equality of two toric divisor classes tdc1 and tdc2 (on the same toric variety) is achieved by checking if their difference is a trivial class, i.e. the divisor class of a principal toric divisor. This is implemented via tdc1 == tdc2.
Properties of toric divisor classes
To check if a toric divisor class tdc is trivial, one can invoke is_trivial(tdc).
Operations for toric divisor classes
divisor_class — Methoddivisor_class(tdc::ToricDivisorClass)Return the element of the class group corresponding to the toric divisor class tdc.
Examples
julia> P2 = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> tdc = ToricDivisorClass(P2, class_group(P2)([1]))
A divisor class on a normal toric variety
julia> divisor_class(tdc)
Element of
GrpAb: Z
with components [1]toric_variety — Methodtoric_variety(tdc::ToricDivisorClass)Return the toric variety on which the toric divisor class tdc is defined.
Examples
julia> P2 = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> tdc = ToricDivisorClass(P2, class_group(P2)([1]))
A divisor class on a normal toric variety
julia> toric_variety(tdc)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactortoric_divisor — Methodtoric_divisor(tdc::ToricDivisorClass)Constructs a toric divisor corresponding to the toric divisor class tdc.
Examples
julia> P2 = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> tdc = ToricDivisorClass(P2, class_group(P2)([1]))
A divisor class on a normal toric variety
julia> toric_divisor(tdc)
A torus-invariant, prime divisor on a normal toric varietySpecial divisor classes
trivial_divisor_class — Methodtrivial_divisor_class(v::AbstractNormalToricVariety)Construct the trivial divisor class of a normal toric variety.
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> trivial_divisor_class(v)
A divisor class on a normal toric varietyanticanonical_divisor_class — Methodanticanonical_divisor_class(v::AbstractNormalToricVariety)Construct the anticanonical divisor class of a normal toric variety.
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> anticanonical_divisor_class(v)
A divisor class on a normal toric varietycanonical_divisor_class — Methodcanonical_divisor_class(v::AbstractNormalToricVariety)Construct the canonical divisor class of a normal toric variety.
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> canonical_divisor_class(v)
A divisor class on a normal toric variety