Toric Line Bundles
Constructors
Generic constructors
ToricLineBundle — MethodToricLineBundle(v::AbstractNormalToricVariety, c::Vector{T}) where {T <: IntegerUnion}Construct the line bundle on the abstract normal toric variety v with class c.
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> l = ToricLineBundle(v, [fmpz(2)])
A toric line bundle on a normal toric varietyToricLineBundle — MethodToricLineBundle(v::AbstractNormalToricVariety, d::ToricDivisor)Construct the toric variety associated to a (Cartier) torus-invariant divisor d on the normal toric variety v.
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> l = ToricLineBundle(v, ToricDivisor(v,[1,2,3]))
A toric line bundle on a normal toric varietyTensor products
Toric line bundles l1 and l2 (on the same toric variety) can be tensored by l1*l2. We support the k-th tensor power by l1^k. k can be either an integer or valued in fmpz. The inverse of l1 is computed by inv(l1).
Equality
Equality of toric line bundles l1 and l2 (on the same toric variety) is implemented by l1 == l2.
Properties
To check if a line bundle l is trivial, one can invoke is_trivial(l). Beyond this, we support the following properties of toric line bundles:
is_basepoint_free — Methodis_basepoint_free(l::ToricLineBundle)Return true if the toric line bundle l is basepoint free and false otherwise.
Examples
julia> F4 = hirzebruch_surface(4)
A normal, non-affine, smooth, projective, gorenstein, non-fano, 2-dimensional toric variety without torusfactor
julia> is_basepoint_free(ToricLineBundle(F4, [0,1]))
trueis_ample — Methodis_ample(l::ToricLineBundle)Return true if the toric line bundle l is ample and false otherwise.
Examples
julia> F4 = hirzebruch_surface(4)
A normal, non-affine, smooth, projective, gorenstein, non-fano, 2-dimensional toric variety without torusfactor
julia> is_ample(ToricLineBundle(F4, [1,0]))
falseis_very_ample — Methodis_very_ample(l::ToricLineBundle)Return true if the toric line bundle l is very ample and false otherwise.
Examples
julia> F4 = hirzebruch_surface(4)
A normal, non-affine, smooth, projective, gorenstein, non-fano, 2-dimensional toric variety without torusfactor
julia> is_very_ample(ToricLineBundle(F4, [1,0]))
falseAttributes
degree — Methoddegree(l::ToricLineBundle)Return the degree of the toric line bundle l.
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> l = ToricLineBundle(v, [fmpz(2)])
A toric line bundle on a normal toric variety
julia> degree(l)
2divisor_class — Methoddivisor_class(l::ToricLineBundle)Return the divisor class which defines the toric line bundle l.
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> l = ToricLineBundle(v, [fmpz(2)])
A toric line bundle on a normal toric variety
julia> divisor_class(l)
Element of
GrpAb: Z
with components [2]toric_divisor — Methodtoric_divisor(l::ToricLineBundle)Return a divisor corresponding to the toric line bundle l.
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> l = ToricLineBundle(v, [fmpz(2)])
A toric line bundle on a normal toric variety
julia> toric_divisor(l)
A torus-invariant, cartier, non-prime divisor on a normal toric variety
julia> is_cartier(toric_divisor(l))
truetoric_variety — Methodtoric_variety(l::ToricLineBundle)Return the toric variety over which the toric line bundle l is defined.
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> l = ToricLineBundle(v, [fmpz(2)])
A toric line bundle on a normal toric variety
julia> toric_variety(l)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactorSpecial line bundles
anticanonical_bundle — Methodanticanonical_bundle(v::AbstractNormalToricVariety)Construct the anticanonical bundle of a normal toric variety. For convenience, we also support anticanonical_bundle(variety).
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> anticanonical_bundle(v)
A toric line bundle on a normal toric varietycanonical_bundle — Methodcanonical_bundle(v::AbstractNormalToricVariety)Construct the canonical bundle of a normal toric variety. For convenience, we also support canonical_bundle(variety).
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> canonical_bundle(v)
A toric line bundle on a normal toric varietystructure_sheaf — Methodstructure_sheaf(v::AbstractNormalToricVariety)Construct the structure sheaf of a normal toric variety. For convenience, we also support structure_sheaf(variety).
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> structure_sheaf(v)
A toric line bundle on a normal toric varietyMethods
basis_of_global_sections_via_rational_functions — Methodbasis_of_global_sections_via_rational_functions(l::ToricLineBundle)Return a basis of the global sections of the toric line bundle l in terms of rational functions.
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> l = ToricLineBundle(v, [fmpz(2)])
A toric line bundle on a normal toric variety
julia> basis_of_global_sections_via_rational_functions(l)
6-element Vector{MPolyQuoElem{fmpq_mpoly}}:
x1_^2
x2*x1_^2
x2^2*x1_^2
x1_
x2*x1_
1basis_of_global_sections_via_homogeneous_component — Methodbasis_of_global_sections_via_homogeneous_component(l::ToricLineBundle)Return a basis of the global sections of the toric line bundle l in terms of a homogeneous component of the Cox ring of toric_variety(l). For convenience, this method can also be called via basis_of_global_sections(l::ToricLineBundle).
Examples
julia> v = projective_space(NormalToricVariety, 2)
A normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor
julia> l = ToricLineBundle(v, [fmpz(2)])
A toric line bundle on a normal toric variety
julia> basis_of_global_sections_via_homogeneous_component(l)
6-element Vector{MPolyElem_dec{fmpq, fmpq_mpoly}}:
x3^2
x2*x3
x2^2
x1*x3
x1*x2
x1^2
julia> basis_of_global_sections(l)
6-element Vector{MPolyElem_dec{fmpq, fmpq_mpoly}}:
x3^2
x2*x3
x2^2
x1*x3
x1*x2
x1^2