Normal Toric Schemes

Constructors

We provide the following constructors for toric covered schemes:

toric_covered_schemeMethod
toric_covered_scheme(antv::AffineNormalToricVariety)

Constructs the toric covered scheme associated to an affine toric variety.

Examples

julia> C = positive_hull([1 0; 0 1])
Polyhedral cone in ambient dimension 2

julia> antv = affine_normal_toric_variety(C)
Normal, affine toric variety

julia> toric_covered_scheme(antv)
Scheme of a toric variety with fan spanned by RayVector{QQFieldElem}[[1, 0], [0, 1]]
source
toric_covered_schemeMethod
toric_covered_scheme(ntv::NormalToricVariety)

Constructs the toric covered scheme associated to a normal toric variety.

Examples

julia> ntv = projective_space(NormalToricVariety, 2)
Normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor

julia> toric_covered_scheme(ntv)
Scheme of a toric variety with fan spanned by RayVector{QQFieldElem}[[1, 0], [0, 1], [-1, -1]]
source

Special constructors

We support constructors for a couple of famous geometries:

affine_spaceMethod
affine_space(::Type{ToricCoveredScheme}, d::Int; set_attributes::Bool = true)

Constructs the affine space of dimension d as toric (covered) scheme.

Examples

julia> affine_space(ToricCoveredScheme, 2)
Scheme of a toric variety with fan spanned by RayVector{QQFieldElem}[[1, 0], [0, 1]]
source
projective_spaceMethod
projective_space(::Type{ToricCoveredScheme}, d::Int; set_attributes::Bool = true)

Construct the projective space of dimension d as toric (covered) scheme.

Examples

julia> projective_space(ToricCoveredScheme, 2)
Scheme of a toric variety with fan spanned by RayVector{QQFieldElem}[[1, 0], [0, 1], [-1, -1]]
source
weighted_projective_spaceMethod
weighted_projective_space(::Type{ToricCoveredScheme}, w::Vector{T}; set_attributes::Bool = true) where {T <: IntegerUnion}

Construct the weighted projective space corresponding to the weights w as toric (covered) scheme.

Examples

julia> weighted_projective_space(ToricCoveredScheme, [2,3,1])
Scheme of a toric variety with fan spanned by RayVector{QQFieldElem}[[-1, 1//3], [1, -1//2], [0, 1]]
source
hirzebruch_surfaceMethod
hirzebruch_surface(::Type{ToricCoveredScheme}, r::Int; set_attributes::Bool = true)

Constructs the r-th Hirzebruch surface as toric (covered) scheme.

Examples

julia> hirzebruch_surface(ToricCoveredScheme, 5)
Scheme of a toric variety with fan spanned by RayVector{QQFieldElem}[[1, 0], [0, 1], [-1, 5], [0, -1]]
source
del_pezzo_surfaceMethod
del_pezzo_surface(::Type{ToricCoveredScheme}, b::Int; set_attributes::Bool = true)

Constructs the del Pezzo surface with b blowups for b at most 3 as toric (covered) scheme.

Examples

julia> del_pezzo_surface(ToricCoveredScheme, 3)
Scheme of a toric variety with fan spanned by RayVector{QQFieldElem}[[1, 0], [0, 1], [-1, -1], [1, 1], [0, -1], [-1, 0]]
source

Attributes

We overload the following attributes from the underlying toric variety:

  • $affine_open_covering(X::ToricCoveredScheme)$,
  • $character_lattice(X::ToricCoveredScheme)$,
  • $character_to_rational_function(R::MPolyRing, X::ToricCoveredScheme, character::Vector{ZZRingElem})$,
  • $character_to_rational_function(X::ToricCoveredScheme, character::Vector{ZZRingElem})$,
  • $class_group(X::ToricCoveredScheme)$,
  • $coefficient_ring(X::ToricCoveredScheme)$,
  • $coordinate_names(X::ToricCoveredScheme)$,
  • $coordinate_names_of_torus(X::ToricCoveredScheme)$,
  • $coordinate_ring_of_torus(R::MPolyRing, X::ToricCoveredScheme)$,
  • $coordinate_ring_of_torus(X::ToricCoveredScheme)$,
  • $cox_ring(R::MPolyRing, X::ToricCoveredScheme)$,
  • $cox_ring(X::ToricCoveredScheme)$,
  • $dim(X::ToricCoveredScheme)$,
  • $dim_of_torusfactor(X::ToricCoveredScheme)$,
  • $euler_characteristic(X::ToricCoveredScheme)$,
  • $fan(X::ToricCoveredScheme)$,
  • $ideal_of_linear_relations(R::MPolyRing, X::ToricCoveredScheme)$,
  • $ideal_of_linear_relations(X::ToricCoveredScheme)$,
  • $irrelevant_ideal(R::MPolyRing, X::ToricCoveredScheme)$,
  • $irrelevant_ideal(X::ToricCoveredScheme)$,
  • $map_from_character_lattice_to_torusinvariant_weil_divisor_group(X::ToricCoveredScheme)$,
  • $map_from_torusinvariant_cartier_divisor_group_to_picard_group(X::ToricCoveredScheme)$,
  • $map_from_torusinvariant_cartier_divisor_group_to_torusinvariant_weil_divisor_group(X::ToricCoveredScheme)$,
  • $map_from_torusinvariant_weil_divisor_group_to_class_group(X::ToricCoveredScheme)$,
  • $mori_cone(X::ToricCoveredScheme)$,
  • $nef_cone(X::ToricCoveredScheme)$,
  • $picard_group(X::ToricCoveredScheme)$,
  • $set_coordinate_names(X::ToricCoveredScheme)$,
  • $set_coordinate_names_of_torus(X::ToricCoveredScheme)$,
  • $stanley_reisner_ideal(R::MPolyRing, X::ToricCoveredScheme)$,
  • $stanley_reisner_ideal(X::ToricCoveredScheme)$,
  • $torusinvariant_cartier_divisor_group(X::ToricCoveredScheme)$,
  • $torusinvariant_prime_divisors(X::ToricCoveredScheme)$,
  • $torusinvariant_weil_divisor_group(X::ToricCoveredScheme)$,
  • $underlying_toric_variety(X::ToricCoveredScheme)$.

It is possible to forget the toric origin, i.e. one can turn a toric scheme into a scheme. This is achieved with the following method:

underlying_schemeMethod
underlying_scheme(X::ToricCoveredScheme)

For a toric covered scheme $X$, this returns the underlying scheme. In other words, by applying this method, you obtain a scheme that has forgotten its toric origin.

Examples

julia> P2 = projective_space(NormalToricVariety, 2)
Normal, non-affine, smooth, projective, gorenstein, fano, 2-dimensional toric variety without torusfactor

julia> toric_scheme = ToricCoveredScheme(P2)
Scheme of a toric variety with fan spanned by RayVector{QQFieldElem}[[1, 0], [0, 1], [-1, -1]]

julia> underlying_scheme(toric_scheme)
covered scheme with 3 affine patches in its default covering
source

Properties

The following properties are overloaded from the underlying toric variety:

  • $is_finalized(X::ToricCoveredScheme)$,
  • $is_normal(X::ToricCoveredScheme)$,
  • $is_affine(X::ToricCoveredScheme)$,
  • $is_projective(X::ToricCoveredScheme)$,
  • $is_projective_space(X::ToricCoveredScheme)$,
  • $is_smooth(X::ToricCoveredScheme)$,
  • $is_complete(X::ToricCoveredScheme)$,
  • $has_torusfactor(X::ToricCoveredScheme)$,
  • $is_orbifold(X::ToricCoveredScheme)$,
  • $is_simplicial(X::ToricCoveredScheme)$,
  • $is_gorenstein(X::ToricCoveredScheme)$,
  • $is_q_gorenstein(X::ToricCoveredScheme)$,
  • $is_fano(X::ToricCoveredScheme)$.