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 variety
ToricLineBundle
— 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 variety
Tensor products
Toric line bundles can be tensored via *
. The n
-th tensor power can be computed via ^n
. In particular, ^(-1)
computes the inverse of a line bundle. Alternatively, one can compute the inverse by invoking inv
.
Special 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 variety
canonical_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 variety
structure_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 variety
Properties
Equality of toric line bundles can be tested via ==
.
To check if a toric line bundle is trivial, one can invoke is_trivial
. 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, [1, 0]))
true
is_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]))
false
is_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]))
false
Attributes
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)
2
divisor_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))
true
toric_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 torusfactor
Methods
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_
1
basis_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