Divisors
A divisor $D$ on a Mori dream space $X$ is modeled by the integral vector $a=(a_1, \dots, a_r)$ such that $D = a_1 D^1_X + ... + a_r D^r_X$, where $D^i_X$ are the restrictions of the torus invariant prime divisors of the canonical toric ambient variety. For divisors on $\mathbb{C}^*$-surfaces, double index notation can be used for the coefficients.
Types
CStarSurfaces.MoriDreamSpaceDivisor — TypeMoriDreamSpaceDivisor{T <: MoriDreamSpace}A Weil divisor on a Mori Dream Space of type T.
CStarSurfaces.CStarSurfaceDivisor — TypeCStarSurfaceDivisor{T} = MoriDreamSpaceDivisor{CStarSurface{T}}A Weil divisor on a $\mathbb{C}^*$-surface of type T <: CStarSurfaceCase.
CStarSurfaces.ToricSurfaceDivisor — TypeToricSurfaceDivisor = MoriDreamSpaceDivisor{ToricSurface}A Weil divisor on a toric surface.
CStarSurfaces.SurfaceWithTorusActionDivisor — TypeSurfaceWithTorusActionDivisor = Union{CStarSurfaceDivisor, ToricSurfaceDivisor}A Weil divisor on a surface with non-trivial torus action.
Constuctors
CStarSurfaces.mori_dream_space_divisor — Methodmori_dream_space_divisor(X :: T, coeffs :: Vector{S})Construct a divisor on a Mori Dream Space as a linear combination of the (restrictions of) the torus invariant prime divisors of the canonical toric ambient variety.
Example
julia> X = cstar_surface([[3, 1], [3], [2]], [[2, 1], [1], [1]], :ee)
C-star surface of type (e-e)
julia> D = cstar_surface_divisor(X, [0, 1, -1, 3])
CStarSurfaceDivisor{EE}(C-star surface of type (e-e), [0, 1, -1, 3], #undef)
julia> coefficients(D)
4-element Vector{Int64}:
0
1
-1
3CStarSurfaces.mori_dream_space_divisor — Methodmori_dream_space_divisor(X :: T, d :: ToricDivisor)Return the Divisor on a Mori Dream Space associated to a toric divisor on its canonical toric ambient space.
CStarSurfaces.cstar_surface_divisor — Methodcstar_surface_divisor(X :: CStarSurface{EE}, coeffs :: DoubleVector{<:IntegerUnion})Construct a divisor on a $\mathbb{C}^*$-surface of type (e-e) as a linear combination of the invariant prime divisors $D^{ij}_X$. The coefficients are given in double index notation.
CStarSurfaces.cstar_surface_divisor — Methodcstar_surface_divisor(X :: CStarSurface{PE}, coeffs :: DoubleVector{T}, coeff_plus :: T) where {T <: IntegerUnion}Construct a divisor on a $\mathbb{C}^*$-surface of type (p-e) as a linear combination of the invariant prime divisors $D^{ij}_X$ and $D^+_X$. The coefficients are given in double index notation.
CStarSurfaces.cstar_surface_divisor — Methodcstar_surface_divisor(X :: CStarSurface{EP}, coeffs :: DoubleVector{T}, coeff_minus :: T) where {T <: IntegerUnion}Construct a divisor on a $\mathbb{C}^*$-surface of type (e-p) as a linear combination of the invariant prime divisors $D^{ij}_X$ and $D^-_X$. The coefficients are given in double index notation.
CStarSurfaces.cstar_surface_divisor — Methodcstar_surface_divisor(X :: CStarSurface{PP}, coeffs :: DoubleVector{T}, coeff_plus :: T, coeff_minus :: T) where {T <: IntegerUnion}Construct a divisor on a $\mathbb{C}^*$-surface of type (p-p) as a linear combination of the invariant prime divisors $D^{ij}_X$ and $D^+_X, D^-_X$. The coefficients are given in double index notation.
CStarSurfaces.invariant_divisor — Methodinvariant_divisor(X :: CStarSurface, i :: Int, j :: Int)Return the $(i,j)$-th invariant divisor $D^{ij}_X$.
CStarSurfaces.D_plus — FunctionD_plus(X :: CStarSurface{<:Union{PE,PP}})Return the parabolic fixed point curve $D^+$ of a $\mathbb{C}^*$-surface of type (p-e) or (p-p).
CStarSurfaces.D_minus — FunctionD_minus(X :: CStarSurface{<:Union{EP,PP}})Return the parabolic fixed point curve $D^-$ of a $\mathbb{C}^*$-surface of type (e-p) or (p-p).
CStarSurfaces.toric_surface_divisor — Methodtoric_surface_divisor(X :: ToricSurface, coeffs :: Vector{S}) where {S <: IntegerUnion}Construct a divisor on a toric surface as a linear combination of the the torus invariant prime divisors.
Example
julia> X = toric_surface([[1,0], [0,1], [-1,-5], [0,-1]])
Normal toric surface
julia> D = toric_surface_divisor(X, [1, 2, -1, 5])
ToricSurfaceDivisor(Normal toric surface, [1, 2, -1, 5], #undef)
julia> coefficients(D)
4-element Vector{Int64}:
1
2
-1
5CStarSurfaces.invariant_divisor — Methodinvariant_divisor(X :: ToricSurface, i :: Int)Return the $i$-th toric divisor $D^i_X$.
(Anti)canonical divisor
Hecke.canonical_divisor — Methodcanonical_divisor(X :: MoriDreamSpace)Return the canonical divisor of a Mori Dream Space.
Example
julia> X = cstar_surface([[1, 1], [2], [2]], [[0, -2], [1], [1]], :ee)
C-star surface of type (e-e)
julia> coefficients(canonical_divisor(X))
4-element Vector{Int64}:
0
0
-1
-1Oscar.anticanonical_divisor — Methodanticanonical_divisor(X :: MoriDreamSpace)Return the anticanonical divisor of a Mori Dream Space.
Example
julia> X = cstar_surface([[1, 1], [2], [2]], [[0, -2], [1], [1]], :ee)
C-star surface of type (e-e)
julia> coefficients(anticanonical_divisor(X))
4-element Vector{Int64}:
0
0
1
1Oscar.canonical_divisor_class — Methodcanonical_divisor_class(X :: MoriDreamSpace)Return the canonical divisor class of a Mori Dream Space.
Example
julia> X = cstar_surface([[1, 1], [2], [2]], [[0, -2], [1], [1]], :ee)
C-star surface of type (e-e)
julia> divisor_class(canonical_divisor_class(X))
Element of
GrpAb: Z/4 x Z
with components [0 -2]Oscar.anticanonical_divisor_class — Methodanticanonical_divisor_class(X :: MoriDreamSpace)Return the anticanonical divisor class of a Mori Dream Space.
Example
julia> X = cstar_surface([[1, 1], [2], [2]], [[0, -2], [1], [1]], :ee)
C-star surface of type (e-e)
julia> divisor_class(anticanonical_divisor_class(X))
Element of
GrpAb: Z/4 x Z
with components [0 2]Attributes
Oscar.coefficients — Methodcoefficients(d :: MoriDreamSpaceDivisor)Return the coefficients of a divisor on a Mori Dream Space.
Oscar.toric_divisor — Methodtoric_divisor(d :: MoriDreamSpaceDivisor)Return the toric divisor on the canonical toric ambient variety associated to a divisor on a Mori Dream Space.
CStarSurfaces.double_coefficients — Methoddouble_coefficients(d :: CStarSurfaceDivisor)Return the coefficients of a divisor on a $\mathbb{C}^*$-surface, in double index notation.
Nemo.is_prime — Methodis_prime(d :: MoriDreamSpaceDivisor{T}) where {T <: MoriDreamSpace}Check whether a given divisor is a prime divisor.
Example
julia> X = cstar_surface([[3, 1], [3], [2]], [[-2, -1], [1], [1]], :ee)
C-star surface of type (e-e)
julia> is_prime(invariant_divisor(X, 0, 1))
trueIntersection numbers
Base.:* — MethodBase.:*(d1 :: SurfaceWithTorusActionDivisor, d2 :: SurfaceWithTorusActionDivisor)Return the intersection number of two divisors on a surface with torus action. The divisors have to be defined on the same variety.
Example
julia> X = cstar_surface([[3, 1], [3], [2]], [[-2, -1], [1], [1]], :ee)
C-star surface of type (e-e)
julia> D = cstar_surface_divisor(X, [1, 0, 2, -1])
CStarSurfaceDivisor{EE}(C-star surface of type (e-e), [1, 0, 2, -1], #undef)
julia> D * D
4//3Contraction
CStarSurfaces.contract_prime_divisor — Methodcontract_prime_divisor(d :: CStarSurfaceDivisor{T}) where {T <: CStarSurfaceCase}Contract the given prime divisor and return the resulting $\mathbb{C}^*$-surface. This amounts to deleting the associated ray from the generator matrix.
Example
julia> X = cstar_surface([[3, 1], [3], [2]], [[-2, -1], [1], [1]], :ep)
C-star surface of type (e-p)
julia> contract_prime_divisor(D_minus(X))
C-star surface of type (e-e)