Goto Chapter: Top 1 2 3 4 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

1 Introduction
 1.1 Introduction to the toric package
 1.2 Introduction to constructing toric varieties

1 Introduction

1.1 Introduction to the toric package

This manual describes the toric package for working with toric varieties in GAP. Toric varieties can be dealt with more easily than general varieties since often times questions about a toric variety can be reformulated in terms of combinatorial geometry. Some coding theory commands related to toric varieties are contained in the error-correcting codes GUAVA package (for example, the command ToricCode). We refer to the GUAVA manual [CM09] and the expository paper [JV02] for more details.

The toric package also contains several commands unrelated to toric varieties (mostly for list manipulations). These will not be described in this documention but they are briefly documented in the lib/ file.

toric is implemented in the GAP language, and runs on any system supporting GAP4.3 and above. The toric package is loaded with the command

 gap> LoadPackage( "toric" ); 

Please send bug reports, suggestions and other comments about toric to

1.2 Introduction to constructing toric varieties

Rather than sketch the theory of toric varieties, we refer to [JV02] and [Ful93] for details. However, we briefly describe some terminology and notation.

1.2-1 Generalities

Let F denote a field and R=F [x_1,...,x_n] be a ring in n variables. A binomial equation in R is one of the form


where k_i ≥ 0, ℓ_j ≥ 0 are integers. A binomial variety is a subvariety of affine n-space A_F^n defined by a finite set of binomial equations (such a variety need not be normal). A typical ``toric variety'' is binomial, though they will be introduced via an a priori independent construction. The basic idea of the construction is to replace each such binomial equation as above by a relation in a semigroup contained in a lattice and replace R by the ``group algebra'' of this semigroup. By the way, a toric variety is always normal (see for example, [Ful93], page 29).

1.2-2 Basic combinatorial geometry constructions

Let Q denote the field of rational numbers and Z denote the set of integers. Let n>1 denote an integer.

Let V=Q^n having basis f_1=(1,0,...,0), ..., f_n=(0,...,0,1). Let L_0=Z^n⊂ V be the standard lattice in V. We identify V and L_0⊗_Z Q. We use ⟨ , ⟩ to denote the (standard) inner product on V. Let

L_0^*={\rm Hom}(L_0,Z)=\{ v\in V\ |\ \langle v,w \rangle \in Z, \ \forall w\in L_0\}

denote the dual lattice, so (fixing the standard basis e_1^*,...,e_n^* dual to the f_1,...,f_n) L_0^* may be identified with Z^n.

A cone in V is a set σ of the form

\sigma=\{a_1v_1+...+a_mv_m\ |\ a_i\geq 0\}\subset V,

where v_1,...,v_m ∈ V is a given collection of vectors, called (semigroup) generators of σ. A rational cone is one where v_1,...,v_m ∈ L_0. A strongly convex cone is one which contains no lines through the origin.

By abuse of terminology, from now on a cone of L_0 is a strongly convex rational cone.

A face of a cone σ is either σ itself or a subset of the form H∩ σ, where H is a codimension one subspace of V which intersects the cone non-trivially and such that the cone is contained in exactly one of the two half-spaces determined by H. A ray (or edge) of a cone is a one-dimensional face. Typically, cones are represented in toric by the list of vectors defining their rays. The dimension of a cone is the dimension of the vector space it spans. The toric package can test if a given vector is in a given cone (see InsideCone).

If σ is a cone then the dual cone is defined by

\sigma^* =\{w \in L_0^*\otimes Q \ |\ \langle v,w \rangle \geq 0,\ \forall v\in \sigma\}.

The toric package can test if a vector is in the dual of a given cone (see InDualCone).

Associate to the dual cone σ^* is the semigroup

S_\sigma =\sigma^*\cap L_0^* =\{w\in L_0^* \ |\ \langle v,w\rangle \geq 0,\ \forall v\in \sigma\}.

Though L_0^* has $n$ generators as a lattice, typically S_σ will have more than n generators as a semigroup. The toric package can compute a minimal list of semigroup generators of S_σ (see DualSemigroupGenerators).

A fan is a collection of cones which ``fit together'' well. A fan in L_0 is a set ∆={σ } of rational strongly convex cones in V= L_0 ⊗ Q such that

In particular, the face of a cone in a fan is a cone is the fan.

If V is the (set-theoretic) union of the cones in then we call the fan complete. We shall assume that all fans are finite. A fan is determined by its list of maximal cones.

Notation: A fan is represented in toric as a set of maximal cones. For example, if is the fan with maximal cones σ_1=Q_+⋅ f_1+Q_+⋅ (-f_1+f_2), σ_2=Q_+⋅ (-f_1+f_2)+Q_+⋅ (-f_1-f_2), σ_3=Q_+⋅ (-f_1-f_2)+Q_+⋅ f_1, then is represented by [[[1,0],[-1,1]],[[-1,1],[-1,-1]],[[-1,-1],[1,0]]].

The toric package can compute all cones in a fan of a given dimension (see ConesOfFan). Moreover, toric can compute the set of all normal vectors to the faces (i.e., hyperplanes) of a cone (see Faces).

The star of a cone σ in a fan is the set ∆_σ of cones in containing σ as a face. The toric package can compute stars (see ToricStar).

1.2-3 Basic affine toric variety constructions


R_\sigma = F [S_\sigma]

denote the ``group algebra'' of this semigroup. It is a finitely generated commutative F-algebra. It is in fact integrally closed ([Ful93], page 29). We may interprete R_σ as a subring of R=F [x_1,...,x_n] as follows: First, identify each e_i^* with the variable x_i. If S_σ is generated as a semigroup by vectors of the form ℓ_1 e_1^*+...+ℓ_n e_n^*, where ℓ_i is an integer, then its image in R is generated by monomials of the form x_1^ℓ_1dots x_n^ℓ_n. The toric package can compute these generating monomials (see EmbeddingAffineToricVariety). See Lemma 2.14 in [JV02] for more details. This embedding can also be used to resolve singularities - see section 5 of [JV02] for more details.


U_\sigma={\rm Spec}\ R_\sigma.

This defines an affine toric variety (associated to σ). It is known that the coordinate ring R_σ of the affine toric variety U_σ has the form R_σ = F[x_1,...,x_n]/J, where J is an ideal. The toric package can compute generators of this ideal by using the DualSemigroupGenerators and the EmbeddingAffineToricVariety commands.

Roughly speaking, the toric variety X(∆) associated to the fan is given by a collection of affine pieces $U_{\sigma_1},U_{\sigma_2},\dots,U_{\sigma_d}$ which ``glue'' together (where ∆ = {σ_i}). The affine pieces are given by the zero sets of polynomial equations in some affine spaces and the gluings are given by maps ϕ_i,j : U_σ_i → U_σ_j which are defined by ratios of polynomials on open subsets of the $U_{\sigma_i}$. The toric package does not compute these gluings or work directly with these (non-affine) varieties X(∆).

A cone σ ⊂ V is said to be nonsingular if it is generated by part of a basis for the lattice L_0. A fan of cones is said to be nonsingular if all its cones are nonsingular. It is known that U_σ is nonsingular if and only if σ is nonsingular (Proposition 2.1 in [Ful93]).

Example: In three dimensions, consider the cones σ_ϵ_1,ϵ_2,ϵ_3,i,j generated by (ϵ_1⋅ 1,ϵ_2⋅ 1,ϵ_3⋅ 1) and the standard basis vectors f_i,f_j, where ϵ_i=± 1 and 1≤ inot= j≤ 3. There are 8 cones per octant, for a total of 64 cones. Let denote the fan in V=Q^3 determined by these maximal cones. The toric variety X(∆) is nonsingular.

1.2-4 Riemann-Roch spaces and related constructions

Although the toric package does not work directly with the toric varieties X(∆), it can compute objects associated with it. For example, it can compute the Euler characteristic (see EulerCharacteristic), Betti numbers (see BettiNumberToric), and the number of GF(q)-rational points (see CardinalityOfToricVariety) of X(∆), provided is nonsingular.

For an algebraic variety X the group of Weil divisors on X is the abelian group Div(X) generated (additively) by the irreducible subvarieties of X of codimension 1. For a toric variety X(∆) with dense open torus T, a Weil divisor D is T-invariant if D=T⋅ D. The group of T-invariant Weil divisors is denoted TDiv(X). This is finitely generated by an explicitly given finite set of divisors {D_1,...,D_r} which correspond naturally to certain cones in (see [Ful93] for details). In particular, we may represent such a divisor D in TDiv(X) by an k-tuple (d_1,...,d_k) of integers.

Let denote a fan in V=Q^n with rays (or edges) τ_i, 1≤ i≤ k, and let v_i denote the first lattice point on τ_i. Associated to the T-invariant Weil divisor D=d_1D_1+...+d_kD_k, is the polytope

P_D = \{ x=(x_1,...,x_n)\ |\ \langle x,v_i \rangle \geq -d_i, \ \forall 1 \leq i \leq k\}.

The toric package can compute P_D (see DivisorPolytope), as well as the set of all lattice points contained in this polytope (see DivisorPolytopeLatticePoints). Also associated to the T-invariant Weil divisor D=d_1D_1+...+d_kD_k, is the Riemann-Roch space, L(D). This is a space of functions on X(∆) whose zeros and poles are ``controlled'' by D (for a more precise definition, see [Ful93]). The toric package can compute a basis for L(D) (see RiemannRochBasis), provided is complete and nonsingular.

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 Bib Ind

generated by GAPDoc2HTML