# Toric Divisor Classes

## Introduction

Toric divisor classes are equivalence classes of Weil divisors modulo linear equivalence.

## Constructors

### General constructors

ToricDivisorClassMethod
ToricDivisorClass(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 variety
source

### Addition, subtraction and scalar multiplication

Toric divisor classes can be added and subtracted via the usual + and - operators. Moreover, multiplication by scalars from the left is supported for scalars which are integers or of type fmpz.

### Special divisor classes

trivial_divisor_classMethod
trivial_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 variety
source
anticanonical_divisor_classMethod
anticanonical_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 variety
source
canonical_divisor_classMethod
canonical_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
source

## Properties

Equality of toric divisor classes can be tested via ==.

To check if a toric divisor class is trivial, one can invoke is_trivial.

is_effectiveMethod
is_effective(tdc::ToricDivisorClass)

Determines whether the toric divisor class tdc is effective, that is if a toric divisor in this divisor class is linearly equivalent to an effective toric divisor.

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, [1])
A divisor class on a normal toric variety

julia> is_effective(tdc)
true

julia> tdc2 = ToricDivisorClass(P2, [-1])
A divisor class on a normal toric variety

julia> is_effective(tdc2)
false
source

## Attributes

divisor_classMethod
divisor_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]
source
toric_varietyMethod
toric_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 torusfactor
source
toric_divisorMethod
toric_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 variety
source