Library of toric varieties

This module provides a simple way to construct often-used toric varieties. Please see the help for the individual methods of toric_varieties for a more detailed description of which varieties can be constructed.

AUTHORS:

  • Volker Braun (2010-07-02): initial version

EXAMPLES:

sage: toric_varieties.dP6()
2-d CPR-Fano toric variety covered by 6 affine patches
class sage.schemes.generic.toric_variety_library.ToricVarietyFactory

Bases: sage.structure.sage_object.SageObject

The methods of this class construct toric varieties.

Warning

You need not create instances of this class. Use the already-provided object toric_varieties instead.

A(n)

Construct the n-dimensional affine space.

INPUT:

  • n – positive integer. The dimension of the affine space.

OUTPUT:

A toric variety.

EXAMPLES:

sage: A3 = toric_varieties.A(3)
sage: A3
3-d affine toric variety
sage: A3.fan().ray_matrix()
[1 0 0]
[0 1 0]
[0 0 1]
sage: A3.gens()
(z0, z1, z2)
A1()

Construct the affine line \mathbb{A}^1 as a toric variety.

OUTPUT:

A toric variety.

EXAMPLES:

sage: A1 = toric_varieties.A1()
sage: A1
1-d affine toric variety
sage: A1.fan().ray_matrix()
[1]
sage: A1.gens()
(z,)
A2()

Construct the affine plane \mathbb{A}^2 as a toric variety.

OUTPUT:

A toric variety.

EXAMPLES:

sage: A2 = toric_varieties.A2()
sage: A2
2-d affine toric variety
sage: A2.fan().ray_matrix()
[1 0]
[0 1]
sage: A2.gens()
(x, y)
A2_Z2()

Construct the orbifold \mathbb{A}^2 / \ZZ_2 as a toric variety.

OUTPUT:

A toric variety.

EXAMPLES:

sage: A2_Z2 = toric_varieties.A2_Z2()
sage: A2_Z2
2-d affine toric variety
sage: A2_Z2.fan().ray_matrix()
[1 1]
[0 2]
sage: A2_Z2.gens()
(x, y)
BCdlOG()

Construct the 5-dimensional toric variety studied in [BCdlOG], [HLY]

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: X = toric_varieties.BCdlOG()      # long time (56s on sage.math, 2011)
sage: X                                 # long time
5-d CPR-Fano toric variety covered by 54 affine patches
sage: X.fan().ray_matrix()              # long time
[-1  0  0  0  0  0  0  0  0  0  0  0  1]
[ 0 -1  0  0  0  0  0  0  0  0  1  1  0]
[ 0  0 -1 -1  0  0  0  1  2  1  2  3  4]
[ 2  2  2  1 -1  0  2  2  2  1  2  2  2]
[ 3  3  3  2  0 -1  3  3  3  1  3  3  3]
sage: X.gens()                          # long time
(v1, v2, c1, c2, v4, v5, b, e1, e2, e3, f, g, v6)

REFERENCES:

[BCdlOG]Volker Braun, Philip Candelas, Xendia de la Ossa, Antonella Grassi, “Toric Calabi-Yau Fourfolds, Duality Between N=1 Theories and Divisors that Contribute to the Superpotential”, http://arxiv.org/abs/hep-th/0001208
[HLY]Yi Hu, Chien-Hao Liu, Shing-Tung Yau, “Toric morphisms and fibrations of toric Calabi-Yau hypersurfaces”, http://arxiv.org/abs/math/0010082
BCdlOG_base()

Construct the base of the \mathbb{P}^2(1,2,3) fibration BCdlOG().

OUTPUT:

A toric variety.

EXAMPLES:

sage: base = toric_varieties.BCdlOG_base()  
sage: base
3-d toric variety covered by 10 affine patches
sage: base.fan().ray_matrix()
[-1  0  0  0  0  0  1]
[ 0 -1  0  0  1  1  0]
[ 0  0 -1  1  2  3  4]
sage: base.gens()
(d4, d3, r2, r1, d2, u, d1)
Conifold()

Construct the conifold as a toric variety.

OUTPUT:

A toric variety.

EXAMPLES:

sage: Conifold = toric_varieties.Conifold()
sage: Conifold
3-d affine toric variety
sage: Conifold.fan().ray_matrix()
[0 0 1 1]
[0 1 0 1]
[1 1 1 1]
sage: Conifold.gens()
(u, x, y, v)
Cube_deformation(k)

Construct, for each k\in\ZZ_{\geq 0}, a toric variety with \ZZ_k-torsion in the Chow group.

The fans of this sequence of toric varieties all equal the face fan of a unit cube topologically, but the (1,1,1)-vertex is moved to (1,1,2k+1). This example was studied in [FS].

INPUT:

OUTPUT:

A toric variety X_k. Its Chow group is A_1(X_k)=\ZZ_k.

EXAMPLES:

sage: X_2 = toric_varieties.Cube_deformation(2)
sage: X_2
3-d toric variety covered by 6 affine patches
sage: X_2.fan().ray_matrix()
[ 1  1 -1 -1 -1 -1  1  1]
[ 1 -1  1 -1 -1  1 -1  1]
[ 5  1  1  1 -1 -1 -1 -1]
sage: X_2.gens()
(z0, z1, z2, z3, z4, z5, z6, z7)

REFERENCES:

[FS]William Fulton, Bernd Sturmfels, “Intersection Theory on Toric Varieties”, http://arxiv.org/abs/alg-geom/9403002
Cube_face_fan()

Construct the toric variety given by the face fan of the 3-dimensional unit lattice cube.

This variety has 6 conifold singularities but the fan is still polyhedral.

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: Cube_face_fan = toric_varieties.Cube_face_fan()
sage: Cube_face_fan
3-d CPR-Fano toric variety covered by 6 affine patches
sage: Cube_face_fan.fan().ray_matrix()
[ 1  1 -1 -1 -1 -1  1  1]
[ 1 -1  1 -1 -1  1 -1  1]
[ 1  1  1  1 -1 -1 -1 -1]
sage: Cube_face_fan.gens()
(z0, z1, z2, z3, z4, z5, z6, z7)
Cube_nonpolyhedral()

Construct the toric variety defined by a fan that is not the face fan of a polyhedron.

This toric variety is defined by a fan that is topologically like the face fan of a 3-dimensional cube, but with a different N-lattice structure.

OUTPUT:

A toric variety.

NOTES:

  • This is an example of an non-polyhedral fan.
  • Its Chow group has torsion: A_2(X)=\ZZ^5 \oplus \ZZ_2

EXAMPLES:

sage: Cube_nonpolyhedral = toric_varieties.Cube_nonpolyhedral()
sage: Cube_nonpolyhedral
3-d toric variety covered by 6 affine patches
sage: Cube_nonpolyhedral.fan().ray_matrix()
[ 1  1 -1 -1 -1 -1  1  1]
[ 2 -1  1 -1 -1  1 -1  1]
[ 3  1  1  1 -1 -1 -1 -1]
sage: Cube_nonpolyhedral.gens()
(z0, z1, z2, z3, z4, z5, z6, z7)
Cube_sublattice()

Construct the toric variety defined by a face fan over a 3-dimensional cube, but not the unit cube in the N-lattice. See [FultonP65].

Its Chow group is A_2(X)=\mathbb{Z}^5, which distinguishes it from the face fan of the unit cube.

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: Cube_sublattice = toric_varieties.Cube_sublattice()
sage: Cube_sublattice
3-d CPR-Fano toric variety covered by 6 affine patches
sage: Cube_sublattice.fan().ray_matrix()
[ 1  0  0 -1 -1  0  0  1]
[ 0  1  0  1  0 -1  0 -1]
[ 0  0  1  1  0  0 -1 -1]
sage: Cube_sublattice.gens()
(z0, z1, z2, z3, z4, z5, z6, z7)

REFERENCES:

[FultonP65]Page 65, 3rd exercise (Section 3.4) of Wiliam Fulton, “Introduction to Toric Varieties”, Princeton University Press
P(n)

Construct the n-dimensional projective space \mathbb{P}^n.

INPUT:

  • n – positive integer. The dimension of the projective space.

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: P3 = toric_varieties.P(3)
sage: P3
3-d CPR-Fano toric variety covered by 4 affine patches
sage: P3.fan().ray_matrix()
[ 1  0  0 -1]
[ 0  1  0 -1]
[ 0  0  1 -1]
sage: P3.gens()
(z0, z1, z2, z3)
P1()

Construct the projective line \mathbb{P}^1 as a toric variety.

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: P1 = toric_varieties.P1()
sage: P1
1-d CPR-Fano toric variety covered by 2 affine patches
sage: P1.fan().ray_matrix()
[ 1 -1]
sage: P1.gens()
(s, t)
P1xA1()

Construct the cartesian product \mathbb{P}^1 \times \mathbb{A}^1 as a toric variety.

OUTPUT:

A toric variety.

EXAMPLES:

sage: P1xA1 = toric_varieties.P1xA1()
sage: P1xA1
2-d toric variety covered by 2 affine patches
sage: P1xA1.fan().ray_matrix()
[ 1 -1  0]
[ 0  0  1]
sage: P1xA1.gens()
(s, t, z)
P1xP1()

Construct the del Pezzo surface \mathbb{P}^1 \times
\mathbb{P}^1 as a toric variety.

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: P1xP1 = toric_varieties.P1xP1()
sage: P1xP1
2-d CPR-Fano toric variety covered by 4 affine patches
sage: P1xP1.fan().ray_matrix()
[ 1 -1  0  0]
[ 0  0  1 -1]
sage: P1xP1.gens()
(s, t, x, y)
P2()

Construct the projective plane \mathbb{P}^2 as a toric variety.

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: P2 = toric_varieties.P2()
sage: P2
2-d CPR-Fano toric variety covered by 3 affine patches
sage: P2.fan().ray_matrix()
[ 1  0 -1]
[ 0  1 -1]
sage: P2.gens()
(x, y, z)
P2_112()

Construct the weighted projective space \mathbb{P}^2(1,1,2).

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: P2_112 = toric_varieties.P2_112()
sage: P2_112
2-d CPR-Fano toric variety covered by 3 affine patches
sage: P2_112.fan().ray_matrix()
[ 1  0 -1]
[ 0  1 -2]
sage: P2_112.gens()
(z0, z1, z2)
P2_123()

Construct the weighted projective space \mathbb{P}^2(1,2,3).

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: P2_123 = toric_varieties.P2_123()
sage: P2_123
2-d CPR-Fano toric variety covered by 3 affine patches
sage: P2_123.fan().ray_matrix()
[ 1  0 -2]
[ 0  1 -3]
sage: P2_123.gens()
(z0, z1, z2)
P4_11169()

Construct the weighted projective space \mathbb{P}^4(1,1,1,6,9).

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: P4_11169 = toric_varieties.P4_11169()
sage: P4_11169
4-d CPR-Fano toric variety covered by 5 affine patches
sage: P4_11169.fan().ray_matrix()
[ 1  0  0  0 -9]
[ 0  1  0  0 -6]
[ 0  0  1  0 -1]
[ 0  0  0  1 -1]
sage: P4_11169.gens()
(z0, z1, z2, z3, z4)
P4_11169_resolved()

Construct the blow-up of the weighted projective space \mathbb{P}^4(1,1,1,6,9) at its curve of \ZZ_3 orbifold fixed points.

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: P4_11169_resolved = toric_varieties.P4_11169_resolved()  # long time (2s on sage.math, 2011)
sage: P4_11169_resolved                      # long time
4-d CPR-Fano toric variety covered by 9 affine patches
sage: P4_11169_resolved.fan().ray_matrix()   # long time
[ 1  0  0  0 -9 -3]
[ 0  1  0  0 -6 -2]
[ 0  0  1  0 -1  0]
[ 0  0  0  1 -1  0]
sage: P4_11169_resolved.gens()               # long time
(z0, z1, z2, z3, z4, z5)
dP6()

Construct the del Pezzo surface of degree 6 (\mathbb{P}^2 blown up at 3 points) as a toric variety.

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: dP6 = toric_varieties.dP6()
sage: dP6
2-d CPR-Fano toric variety covered by 6 affine patches
sage: dP6.fan().ray_matrix()
[ 0 -1 -1  0  1  1]
[ 1  0 -1 -1  0  1]
sage: dP6.gens()
(x, u, y, v, z, w)
dP6xdP6()

Construct the product of two del Pezzo surfaces of degree 6 (\mathbb{P}^2 blown up at 3 points) as a toric variety.

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: dP6xdP6 = toric_varieties.dP6xdP6()   # long time (20s on sage.math, 2011)
sage: dP6xdP6                               # long time
4-d CPR-Fano toric variety covered by 36 affine patches
sage: dP6xdP6.fan().ray_matrix()            # long time
[ 0 -1 -1  0  1  1  0  0  0  0  0  0]
[ 1  0 -1 -1  0  1  0  0  0  0  0  0]
[ 0  0  0  0  0  0  0 -1 -1  0  1  1]
[ 0  0  0  0  0  0  1  0 -1 -1  0  1]
sage: dP6xdP6.gens()                        # long time
(x0, x1, x2, x3, x4, x5, y0, y1, y2, y3, y4, y5)
dP7()

Construct the del Pezzo surface of degree 7 (\mathbb{P}^2 blown up at 2 points) as a toric variety.

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: dP7 = toric_varieties.dP7()
sage: dP7
2-d CPR-Fano toric variety covered by 5 affine patches
sage: dP7.fan().ray_matrix()
[ 0 -1 -1  0  1]
[ 1  0 -1 -1  0]
sage: dP7.gens()
(x, u, y, v, z)
dP8()

Construct the del Pezzo surface of degree 8 (\mathbb{P}^2 blown up at 1 point) as a toric variety.

OUTPUT:

A CPR-Fano toric variety.

EXAMPLES:

sage: dP8 = toric_varieties.dP8()
sage: dP8
2-d CPR-Fano toric variety covered by 4 affine patches
sage: dP8.fan().ray_matrix()
[ 1  0 -1  1]
[ 1  1 -1  0]
sage: dP8.gens()
(t, x, y, z)

Previous topic

Fano toric varieties

Next topic

Toric divisors and divisor classes

This Page