# Subvarieties

## Introduction

We focus on simplicial toric varieties. Then, any closed subvariety is given as the vanishing set of a homogeneous ideal in the Cox ring of the toric variety in question (cf. proposition 5.2.4 in David A. Cox, John B. Little, Henry K. Schenck (2011)). As of now, we provide elementary support for closed subvarieties of simplicial toric varieties.

## Constructors

### General constructors

ClosedSubvarietyOfToricVarietyMethod
ClosedSubvarietyOfToricVariety(toric_variety::AbstractNormalToricVariety, defining_polynomials::Vector{MPolyElem_dec{fmpq, fmpq_mpoly}})

Construct the closed subvariety of a simplicial normal toric variety. The defining data for the closed subvariety is a list of homogeneous polynomials, all of which must be elements of the Cox ring of the toric variety in question. The common vanishing locus of these polynomials defines the closed subvariety in question. By proposition 5.2.4 in David A. Cox, John B. Little, Henry K. Schenck (2011) every closed subvariety of a simplicial toric variety arises in this way.

Examples

julia> f2 = hirzebruch_surface(2);

julia> (t1, x1, t2, x2) = gens(cox_ring(f2));

julia> ClosedSubvarietyOfToricVariety(f2, [t1])
A closed subvariety of a normal toric variety
source

## Properties

is_emptyMethod
is_empty(c::ClosedSubvarietyOfToricVariety)

Checks if a closed subvariety of a toric variety is empty. This check uses proposition 5.2.6 in David A. Cox, John B. Little, Henry K. Schenck (2011).

Examples

julia> f2 = hirzebruch_surface(2);

julia> (t1, x1, t2, x2) = gens(cox_ring(f2));

julia> c = ClosedSubvarietyOfToricVariety(f2, [t1])
A closed subvariety of a normal toric variety

julia> is_empty(c)
false

julia> c2 = ClosedSubvarietyOfToricVariety(f2, [x1,x2])
A closed subvariety of a normal toric variety

julia> is_empty(c2)
true
source

## Attributes

toric_varietyMethod
toric_variety(c::ClosedSubvarietyOfToricVariety)

When constructing a closed subvariety, a toric variety must be provided in which the closed subvariety is contained. This method returns this initially provided toric supervariety.

Note however that perse, a closed subvariety can be contained in different non-isomorphic toric varieties.

Examples

julia> f2 = hirzebruch_surface(2);

julia> (t1, x1, t2, x2) = gens(cox_ring(f2));

julia> c = ClosedSubvarietyOfToricVariety(f2, [t1])
A closed subvariety of a normal toric variety

julia> toric_variety(c) == f2
true
source
defining_idealMethod
defining_ideal(c::ClosedSubvarietyOfToricVariety)

When constructing a closed subvariety, an ideal in the Cox ring of a normal toric variety must be provided. This method returns this initially provided ideal.

Examples

julia> f2 = hirzebruch_surface(2);

julia> (t1, x1, t2, x2) = gens(cox_ring(f2));

julia> c = ClosedSubvarietyOfToricVariety(f2, [t1])
A closed subvariety of a normal toric variety

julia> defining_ideal(c) == ideal([t1])
true
source
radicalMethod
radical(c::ClosedSubvarietyOfToricVariety)

When constructing a closed subvariety, an ideal in the Cox ring of a normal toric variety must be provided. This method returns the radical of this initially provided ideal.

Examples

julia> f2 = hirzebruch_surface(2);

julia> (t1, x1, t2, x2) = gens(cox_ring(f2));

julia> c = ClosedSubvarietyOfToricVariety(f2, [t1])
A closed subvariety of a normal toric variety

true