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
>>> from sage.all import *
>>> toric_varieties.dP6()
2-d CPR-Fano toric variety covered by 6 affine patches
You can assign the homogeneous coordinates to Sage variables either
with
inject_variables()
or immediately during assignment like this:
sage: P2.<x,y,z> = toric_varieties.P2()
sage: x^2 + y^2 + z^2
x^2 + y^2 + z^2
sage: P2.coordinate_ring()
Multivariate Polynomial Ring in x, y, z over Rational Field
>>> from sage.all import *
>>> P2 = toric_varieties.P2(names=('x', 'y', 'z',)); (x, y, z,) = P2._first_ngens(3)
>>> x**Integer(2) + y**Integer(2) + z**Integer(2)
x^2 + y^2 + z^2
>>> P2.coordinate_ring()
Multivariate Polynomial Ring in x, y, z over Rational Field
- class sage.schemes.toric.library.ToricVarietyFactory[source]¶
- Bases: - SageObject- The methods of this class construct toric varieties. - Warning - You need not create instances of this class. Use the already-provided object - toric_varietiesinstead.- A(n, names='z+', base_ring=Rational Field)[source]¶
- Construct the - n-dimensional affine space.- INPUT: - n– positive integer; the dimension of the affine space
- names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - toric variety.- EXAMPLES: - sage: A3 = toric_varieties.A(3); A3 3-d affine toric variety sage: A3.fan().rays() N(1, 0, 0), N(0, 1, 0), N(0, 0, 1) in 3-d lattice N sage: A3.gens() (z0, z1, z2) - >>> from sage.all import * >>> A3 = toric_varieties.A(Integer(3)); A3 3-d affine toric variety >>> A3.fan().rays() N(1, 0, 0), N(0, 1, 0), N(0, 0, 1) in 3-d lattice N >>> A3.gens() (z0, z1, z2) 
 - A1(names='z', base_ring=Rational Field)[source]¶
- Construct the affine line \(\mathbb{A}^1\) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - toric variety.- EXAMPLES: - sage: A1 = toric_varieties.A1(); A1 1-d affine toric variety sage: A1.fan().rays() N(1) in 1-d lattice N sage: A1.gens() (z,) - >>> from sage.all import * >>> A1 = toric_varieties.A1(); A1 1-d affine toric variety >>> A1.fan().rays() N(1) in 1-d lattice N >>> A1.gens() (z,) 
 - A2(names='x y', base_ring=Rational Field)[source]¶
- Construct the affine plane \(\mathbb{A}^2\) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - toric variety.- EXAMPLES: - sage: A2 = toric_varieties.A2(); A2 2-d affine toric variety sage: A2.fan().rays() N(1, 0), N(0, 1) in 2-d lattice N sage: A2.gens() (x, y) - >>> from sage.all import * >>> A2 = toric_varieties.A2(); A2 2-d affine toric variety >>> A2.fan().rays() N(1, 0), N(0, 1) in 2-d lattice N >>> A2.gens() (x, y) 
 - A2_Z2(names='x y', base_ring=Rational Field)[source]¶
- Construct the orbifold \(\mathbb{A}^2 / \ZZ_2\) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - toric variety.- EXAMPLES: - sage: A2_Z2 = toric_varieties.A2_Z2(); A2_Z2 2-d affine toric variety sage: A2_Z2.fan().rays() N(1, 0), N(1, 2) in 2-d lattice N sage: A2_Z2.gens() (x, y) - >>> from sage.all import * >>> A2_Z2 = toric_varieties.A2_Z2(); A2_Z2 2-d affine toric variety >>> A2_Z2.fan().rays() N(1, 0), N(1, 2) in 2-d lattice N >>> A2_Z2.gens() (x, y) 
 - BCdlOG(names='v1 v2 c1 c2 v4 v5 b e1 e2 e3 f g v6', base_ring=Rational Field)[source]¶
- Construct the 5-dimensional toric variety studied in [BCdlOG2000], [HLY2002] - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: X = toric_varieties.BCdlOG(); X 5-d CPR-Fano toric variety covered by 54 affine patches sage: X.fan().rays() N(-1, 0, 0, 2, 3), N( 0, -1, 0, 2, 3), N( 0, 0, -1, 2, 3), N( 0, 0, -1, 1, 2), N( 0, 0, 0, -1, 0), N( 0, 0, 0, 0, -1), N( 0, 0, 0, 2, 3), N( 0, 0, 1, 2, 3), N( 0, 0, 2, 2, 3), N( 0, 0, 1, 1, 1), N( 0, 1, 2, 2, 3), N( 0, 1, 3, 2, 3), N( 1, 0, 4, 2, 3) in 5-d lattice N sage: X.gens() (v1, v2, c1, c2, v4, v5, b, e1, e2, e3, f, g, v6) - >>> from sage.all import * >>> X = toric_varieties.BCdlOG(); X 5-d CPR-Fano toric variety covered by 54 affine patches >>> X.fan().rays() N(-1, 0, 0, 2, 3), N( 0, -1, 0, 2, 3), N( 0, 0, -1, 2, 3), N( 0, 0, -1, 1, 2), N( 0, 0, 0, -1, 0), N( 0, 0, 0, 0, -1), N( 0, 0, 0, 2, 3), N( 0, 0, 1, 2, 3), N( 0, 0, 2, 2, 3), N( 0, 0, 1, 1, 1), N( 0, 1, 2, 2, 3), N( 0, 1, 3, 2, 3), N( 1, 0, 4, 2, 3) in 5-d lattice N >>> X.gens() (v1, v2, c1, c2, v4, v5, b, e1, e2, e3, f, g, v6) 
 - BCdlOG_base(names='d4 d3 r2 r1 d2 u d1', base_ring=Rational Field)[source]¶
- Construct the base of the \(\mathbb{P}^2(1,2,3)\) fibration - BCdlOG().- INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - toric variety.- EXAMPLES: - sage: base = toric_varieties.BCdlOG_base(); base 3-d toric variety covered by 10 affine patches sage: base.fan().rays() N(-1, 0, 0), N( 0, -1, 0), N( 0, 0, -1), N( 0, 0, 1), N( 0, 1, 2), N( 0, 1, 3), N( 1, 0, 4) in 3-d lattice N sage: base.gens() (d4, d3, r2, r1, d2, u, d1) - >>> from sage.all import * >>> base = toric_varieties.BCdlOG_base(); base 3-d toric variety covered by 10 affine patches >>> base.fan().rays() N(-1, 0, 0), N( 0, -1, 0), N( 0, 0, -1), N( 0, 0, 1), N( 0, 1, 2), N( 0, 1, 3), N( 1, 0, 4) in 3-d lattice N >>> base.gens() (d4, d3, r2, r1, d2, u, d1) 
 - Conifold(names='u x y v', base_ring=Rational Field)[source]¶
- Construct the conifold as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - toric variety.- EXAMPLES: - sage: Conifold = toric_varieties.Conifold(); Conifold 3-d affine toric variety sage: Conifold.fan().rays() N(0, 0, 1), N(0, 1, 1), N(1, 0, 1), N(1, 1, 1) in 3-d lattice N sage: Conifold.gens() (u, x, y, v) - >>> from sage.all import * >>> Conifold = toric_varieties.Conifold(); Conifold 3-d affine toric variety >>> Conifold.fan().rays() N(0, 0, 1), N(0, 1, 1), N(1, 0, 1), N(1, 1, 1) in 3-d lattice N >>> Conifold.gens() (u, x, y, v) 
 - Cube_deformation(k, names=None, base_ring=Rational Field)[source]¶
- 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 [FS1994].- INPUT: - k– integer; the case- k=0is the same as- Cube_face_fan()
- names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - 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); X_2 3-d toric variety covered by 6 affine patches sage: X_2.fan().rays() N( 1, 1, 5), N( 1, -1, 1), N(-1, 1, 1), N(-1, -1, 1), N(-1, -1, -1), N(-1, 1, -1), N( 1, -1, -1), N( 1, 1, -1) in 3-d lattice N sage: X_2.gens() (z0, z1, z2, z3, z4, z5, z6, z7) - >>> from sage.all import * >>> X_2 = toric_varieties.Cube_deformation(Integer(2)); X_2 3-d toric variety covered by 6 affine patches >>> X_2.fan().rays() N( 1, 1, 5), N( 1, -1, 1), N(-1, 1, 1), N(-1, -1, 1), N(-1, -1, -1), N(-1, 1, -1), N( 1, -1, -1), N( 1, 1, -1) in 3-d lattice N >>> X_2.gens() (z0, z1, z2, z3, z4, z5, z6, z7) 
 - Cube_face_fan(names='z+', base_ring=Rational Field)[source]¶
- 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. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: Cube_face_fan = toric_varieties.Cube_face_fan(); Cube_face_fan 3-d CPR-Fano toric variety covered by 6 affine patches sage: Cube_face_fan.fan().rays() N( 1, 1, 1), N( 1, -1, 1), N(-1, 1, 1), N(-1, -1, 1), N(-1, -1, -1), N(-1, 1, -1), N( 1, -1, -1), N( 1, 1, -1) in 3-d lattice N sage: Cube_face_fan.gens() (z0, z1, z2, z3, z4, z5, z6, z7) - >>> from sage.all import * >>> Cube_face_fan = toric_varieties.Cube_face_fan(); Cube_face_fan 3-d CPR-Fano toric variety covered by 6 affine patches >>> Cube_face_fan.fan().rays() N( 1, 1, 1), N( 1, -1, 1), N(-1, 1, 1), N(-1, -1, 1), N(-1, -1, -1), N(-1, 1, -1), N( 1, -1, -1), N( 1, 1, -1) in 3-d lattice N >>> Cube_face_fan.gens() (z0, z1, z2, z3, z4, z5, z6, z7) 
 - Cube_nonpolyhedral(names='z+', base_ring=Rational Field)[source]¶
- 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. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - toric variety.- Note - This is an example of a 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().rays() N( 1, 2, 3), N( 1, -1, 1), N(-1, 1, 1), N(-1, -1, 1), N(-1, -1, -1), N(-1, 1, -1), N( 1, -1, -1), N( 1, 1, -1) in 3-d lattice N sage: Cube_nonpolyhedral.gens() (z0, z1, z2, z3, z4, z5, z6, z7) - >>> from sage.all import * >>> Cube_nonpolyhedral = toric_varieties.Cube_nonpolyhedral() >>> Cube_nonpolyhedral 3-d toric variety covered by 6 affine patches >>> Cube_nonpolyhedral.fan().rays() N( 1, 2, 3), N( 1, -1, 1), N(-1, 1, 1), N(-1, -1, 1), N(-1, -1, -1), N(-1, 1, -1), N( 1, -1, -1), N( 1, 1, -1) in 3-d lattice N >>> Cube_nonpolyhedral.gens() (z0, z1, z2, z3, z4, z5, z6, z7) 
 - Cube_sublattice(names='z+', base_ring=Rational Field)[source]¶
- Construct the toric variety defined by a face fan over a 3-dimensional cube, but not the unit cube in the N-lattice. See p. 65 of [Ful1993]. - Its Chow group is \(A_2(X)=\ZZ^5\), which distinguishes it from the face fan of the unit cube. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: Cube_sublattice = toric_varieties.Cube_sublattice(); Cube_sublattice 3-d CPR-Fano toric variety covered by 6 affine patches sage: Cube_sublattice.fan().rays() N( 1, 0, 0), N( 0, 1, 0), N( 0, 0, 1), N(-1, 1, 1), N(-1, 0, 0), N( 0, -1, 0), N( 0, 0, -1), N( 1, -1, -1) in 3-d lattice N sage: Cube_sublattice.gens() (z0, z1, z2, z3, z4, z5, z6, z7) - >>> from sage.all import * >>> Cube_sublattice = toric_varieties.Cube_sublattice(); Cube_sublattice 3-d CPR-Fano toric variety covered by 6 affine patches >>> Cube_sublattice.fan().rays() N( 1, 0, 0), N( 0, 1, 0), N( 0, 0, 1), N(-1, 1, 1), N(-1, 0, 0), N( 0, -1, 0), N( 0, 0, -1), N( 1, -1, -1) in 3-d lattice N >>> Cube_sublattice.gens() (z0, z1, z2, z3, z4, z5, z6, z7) 
 - P(n, names='z+', base_ring=Rational Field)[source]¶
- Construct the - n-dimensional projective space \(\mathbb{P}^n\).- INPUT: - n– positive integer; the dimension of the projective space
- names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: P3 = toric_varieties.P(3); P3 3-d CPR-Fano toric variety covered by 4 affine patches sage: P3.fan().rays() N( 1, 0, 0), N( 0, 1, 0), N( 0, 0, 1), N(-1, -1, -1) in 3-d lattice N sage: P3.gens() (z0, z1, z2, z3) - >>> from sage.all import * >>> P3 = toric_varieties.P(Integer(3)); P3 3-d CPR-Fano toric variety covered by 4 affine patches >>> P3.fan().rays() N( 1, 0, 0), N( 0, 1, 0), N( 0, 0, 1), N(-1, -1, -1) in 3-d lattice N >>> P3.gens() (z0, z1, z2, z3) 
 - P1(names='s t', base_ring=Rational Field)[source]¶
- Construct the projective line \(\mathbb{P}^1\) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: P1 = toric_varieties.P1(); P1 1-d CPR-Fano toric variety covered by 2 affine patches sage: P1.fan().rays() N( 1), N(-1) in 1-d lattice N sage: P1.gens() (s, t) - >>> from sage.all import * >>> P1 = toric_varieties.P1(); P1 1-d CPR-Fano toric variety covered by 2 affine patches >>> P1.fan().rays() N( 1), N(-1) in 1-d lattice N >>> P1.gens() (s, t) 
 - P1xA1(names='s t z', base_ring=Rational Field)[source]¶
- Construct the Cartesian product \(\mathbb{P}^1 \times \mathbb{A}^1\) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - toric variety.- EXAMPLES: - sage: P1xA1 = toric_varieties.P1xA1(); P1xA1 2-d toric variety covered by 2 affine patches sage: P1xA1.fan().rays() N( 1, 0), N(-1, 0), N( 0, 1) in 2-d lattice N sage: P1xA1.gens() (s, t, z) - >>> from sage.all import * >>> P1xA1 = toric_varieties.P1xA1(); P1xA1 2-d toric variety covered by 2 affine patches >>> P1xA1.fan().rays() N( 1, 0), N(-1, 0), N( 0, 1) in 2-d lattice N >>> P1xA1.gens() (s, t, z) 
 - P1xP1(names='s t x y', base_ring=Rational Field)[source]¶
- Construct the del Pezzo surface \(\mathbb{P}^1 \times \mathbb{P}^1\) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: P1xP1 = toric_varieties.P1xP1(); P1xP1 2-d CPR-Fano toric variety covered by 4 affine patches sage: P1xP1.fan().rays() N( 1, 0), N(-1, 0), N( 0, 1), N( 0, -1) in 2-d lattice N sage: P1xP1.gens() (s, t, x, y) - >>> from sage.all import * >>> P1xP1 = toric_varieties.P1xP1(); P1xP1 2-d CPR-Fano toric variety covered by 4 affine patches >>> P1xP1.fan().rays() N( 1, 0), N(-1, 0), N( 0, 1), N( 0, -1) in 2-d lattice N >>> P1xP1.gens() (s, t, x, y) 
 - P1xP1_Z2(names='s t x y', base_ring=Rational Field)[source]¶
- Construct the toric \(\ZZ_2\)-orbifold of the del Pezzo surface \(\mathbb{P}^1 \times \mathbb{P}^1\) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: P1xP1_Z2 = toric_varieties.P1xP1_Z2(); P1xP1_Z2 2-d CPR-Fano toric variety covered by 4 affine patches sage: P1xP1_Z2.fan().rays() N( 1, 1), N(-1, -1), N(-1, 1), N( 1, -1) in 2-d lattice N sage: P1xP1_Z2.gens() (s, t, x, y) sage: P1xP1_Z2.Chow_group().degree(1) C2 x Z^2 - >>> from sage.all import * >>> P1xP1_Z2 = toric_varieties.P1xP1_Z2(); P1xP1_Z2 2-d CPR-Fano toric variety covered by 4 affine patches >>> P1xP1_Z2.fan().rays() N( 1, 1), N(-1, -1), N(-1, 1), N( 1, -1) in 2-d lattice N >>> P1xP1_Z2.gens() (s, t, x, y) >>> P1xP1_Z2.Chow_group().degree(Integer(1)) C2 x Z^2 
 - P2(names='x y z', base_ring=Rational Field)[source]¶
- Construct the projective plane \(\mathbb{P}^2\) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: P2 = toric_varieties.P2(); P2 2-d CPR-Fano toric variety covered by 3 affine patches sage: P2.fan().rays() N( 1, 0), N( 0, 1), N(-1, -1) in 2-d lattice N sage: P2.gens() (x, y, z) - >>> from sage.all import * >>> P2 = toric_varieties.P2(); P2 2-d CPR-Fano toric variety covered by 3 affine patches >>> P2.fan().rays() N( 1, 0), N( 0, 1), N(-1, -1) in 2-d lattice N >>> P2.gens() (x, y, z) 
 - P2_112(names='z+', base_ring=Rational Field)[source]¶
- Construct the weighted projective space \(\mathbb{P}^2(1,1,2)\). - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: P2_112 = toric_varieties.P2_112(); P2_112 2-d CPR-Fano toric variety covered by 3 affine patches sage: P2_112.fan().rays() N( 1, 0), N( 0, 1), N(-1, -2) in 2-d lattice N sage: P2_112.gens() (z0, z1, z2) - >>> from sage.all import * >>> P2_112 = toric_varieties.P2_112(); P2_112 2-d CPR-Fano toric variety covered by 3 affine patches >>> P2_112.fan().rays() N( 1, 0), N( 0, 1), N(-1, -2) in 2-d lattice N >>> P2_112.gens() (z0, z1, z2) 
 - P2_123(names='z+', base_ring=Rational Field)[source]¶
- Construct the weighted projective space \(\mathbb{P}^2(1,2,3)\). - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: P2_123 = toric_varieties.P2_123(); P2_123 2-d CPR-Fano toric variety covered by 3 affine patches sage: P2_123.fan().rays() N( 1, 0), N( 0, 1), N(-2, -3) in 2-d lattice N sage: P2_123.gens() (z0, z1, z2) - >>> from sage.all import * >>> P2_123 = toric_varieties.P2_123(); P2_123 2-d CPR-Fano toric variety covered by 3 affine patches >>> P2_123.fan().rays() N( 1, 0), N( 0, 1), N(-2, -3) in 2-d lattice N >>> P2_123.gens() (z0, z1, z2) 
 - P4_11133(names='z+', base_ring=Rational Field)[source]¶
- Construct the weighted projective space \(\mathbb{P}^4(1,1,1,3,3)\). - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: P4_11133 = toric_varieties.P4_11133(); P4_11133 4-d CPR-Fano toric variety covered by 5 affine patches sage: P4_11133.fan().rays() N( 1, 0, 0, 0), N( 0, 1, 0, 0), N( 0, 0, 1, 0), N( 0, 0, 0, 1), N(-3, -3, -1, -1) in 4-d lattice N sage: P4_11133.gens() (z0, z1, z2, z3, z4) - >>> from sage.all import * >>> P4_11133 = toric_varieties.P4_11133(); P4_11133 4-d CPR-Fano toric variety covered by 5 affine patches >>> P4_11133.fan().rays() N( 1, 0, 0, 0), N( 0, 1, 0, 0), N( 0, 0, 1, 0), N( 0, 0, 0, 1), N(-3, -3, -1, -1) in 4-d lattice N >>> P4_11133.gens() (z0, z1, z2, z3, z4) 
 - P4_11133_resolved(names='z+', base_ring=Rational Field)[source]¶
- Construct the weighted projective space \(\mathbb{P}^4(1,1,1,3,3)\). - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: P4_11133_resolved = toric_varieties.P4_11133_resolved() sage: P4_11133_resolved 4-d CPR-Fano toric variety covered by 9 affine patches sage: P4_11133_resolved.fan().rays() N( 1, 0, 0, 0), N( 0, 1, 0, 0), N( 0, 0, 1, 0), N( 0, 0, 0, 1), N(-3, -3, -1, -1), N(-1, -1, 0, 0) in 4-d lattice N sage: P4_11133_resolved.gens() (z0, z1, z2, z3, z4, z5) - >>> from sage.all import * >>> P4_11133_resolved = toric_varieties.P4_11133_resolved() >>> P4_11133_resolved 4-d CPR-Fano toric variety covered by 9 affine patches >>> P4_11133_resolved.fan().rays() N( 1, 0, 0, 0), N( 0, 1, 0, 0), N( 0, 0, 1, 0), N( 0, 0, 0, 1), N(-3, -3, -1, -1), N(-1, -1, 0, 0) in 4-d lattice N >>> P4_11133_resolved.gens() (z0, z1, z2, z3, z4, z5) 
 - P4_11169(names='z+', base_ring=Rational Field)[source]¶
- Construct the weighted projective space \(\mathbb{P}^4(1,1,1,6,9)\). - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: P4_11169 = toric_varieties.P4_11169(); P4_11169 4-d CPR-Fano toric variety covered by 5 affine patches sage: P4_11169.fan().rays() N( 1, 0, 0, 0), N( 0, 1, 0, 0), N( 0, 0, 1, 0), N( 0, 0, 0, 1), N(-9, -6, -1, -1) in 4-d lattice N sage: P4_11169.gens() (z0, z1, z2, z3, z4) - >>> from sage.all import * >>> P4_11169 = toric_varieties.P4_11169(); P4_11169 4-d CPR-Fano toric variety covered by 5 affine patches >>> P4_11169.fan().rays() N( 1, 0, 0, 0), N( 0, 1, 0, 0), N( 0, 0, 1, 0), N( 0, 0, 0, 1), N(-9, -6, -1, -1) in 4-d lattice N >>> P4_11169.gens() (z0, z1, z2, z3, z4) 
 - P4_11169_resolved(names='z+', base_ring=Rational Field)[source]¶
- 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. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: P4_11169_resolved = toric_varieties.P4_11169_resolved() sage: P4_11169_resolved 4-d CPR-Fano toric variety covered by 9 affine patches sage: P4_11169_resolved.fan().rays() N( 1, 0, 0, 0), N( 0, 1, 0, 0), N( 0, 0, 1, 0), N( 0, 0, 0, 1), N(-9, -6, -1, -1), N(-3, -2, 0, 0) in 4-d lattice N sage: P4_11169_resolved.gens() (z0, z1, z2, z3, z4, z5) - >>> from sage.all import * >>> P4_11169_resolved = toric_varieties.P4_11169_resolved() >>> P4_11169_resolved 4-d CPR-Fano toric variety covered by 9 affine patches >>> P4_11169_resolved.fan().rays() N( 1, 0, 0, 0), N( 0, 1, 0, 0), N( 0, 0, 1, 0), N( 0, 0, 0, 1), N(-9, -6, -1, -1), N(-3, -2, 0, 0) in 4-d lattice N >>> P4_11169_resolved.gens() (z0, z1, z2, z3, z4, z5) 
 - WP(*q, **kw)[source]¶
- Construct weighted projective \(n\)-space over a field. - INPUT: - q– a sequence of positive integers relatively prime to one another. The weights- qcan be given either as a list or tuple, or as positional arguments.
 - Two keyword arguments: - base_ring– a field (default: \(\QQ\))
- names– string or list (tuple) of strings (default:- 'z+'); see- normalize_names()for acceptable formats.
 - OUTPUT: - A - toric variety. If \(q=(q_0,\dots,q_n)\), then the output is the weighted projective space \(\mathbb{P}(q_0,\dots,q_n)\) over- base_ring.- namesare the names of the generators of the homogeneous coordinate ring.
 - EXAMPLES: - A hyperelliptic curve \(C\) of genus 2 as a subscheme of the weighted projective plane \(\mathbb{P}(1,3,1)\): - sage: X = toric_varieties.WP([1,3,1], names='x y z') sage: X.inject_variables() Defining x, y, z sage: g = y^2 - (x^6-z^6) sage: C = X.subscheme([g]); C Closed subscheme of 2-d toric variety covered by 3 affine patches defined by: -x^6 + z^6 + y^2 - >>> from sage.all import * >>> X = toric_varieties.WP([Integer(1),Integer(3),Integer(1)], names='x y z') >>> X.inject_variables() Defining x, y, z >>> g = y**Integer(2) - (x**Integer(6)-z**Integer(6)) >>> C = X.subscheme([g]); C Closed subscheme of 2-d toric variety covered by 3 affine patches defined by: -x^6 + z^6 + y^2 
 - dP6(names='x u y v z w', base_ring=Rational Field)[source]¶
- Construct the del Pezzo surface of degree 6 (\(\mathbb{P}^2\) blown up at 3 points) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: dP6 = toric_varieties.dP6(); dP6 2-d CPR-Fano toric variety covered by 6 affine patches sage: dP6.fan().rays() N( 0, 1), N(-1, 0), N(-1, -1), N( 0, -1), N( 1, 0), N( 1, 1) in 2-d lattice N sage: dP6.gens() (x, u, y, v, z, w) - >>> from sage.all import * >>> dP6 = toric_varieties.dP6(); dP6 2-d CPR-Fano toric variety covered by 6 affine patches >>> dP6.fan().rays() N( 0, 1), N(-1, 0), N(-1, -1), N( 0, -1), N( 1, 0), N( 1, 1) in 2-d lattice N >>> dP6.gens() (x, u, y, v, z, w) 
 - dP6xdP6(names='x0 x1 x2 x3 x4 x5 y0 y1 y2 y3 y4 y5', base_ring=Rational Field)[source]¶
- Construct the product of two del Pezzo surfaces of degree 6 (\(\mathbb{P}^2\) blown up at 3 points) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: dP6xdP6 = toric_varieties.dP6xdP6(); dP6xdP6 4-d CPR-Fano toric variety covered by 36 affine patches sage: dP6xdP6.fan().rays() N( 0, 1, 0, 0), N(-1, 0, 0, 0), N(-1, -1, 0, 0), N( 0, -1, 0, 0), N( 1, 0, 0, 0), N( 1, 1, 0, 0), N( 0, 0, 0, 1), N( 0, 0, -1, 0), N( 0, 0, -1, -1), N( 0, 0, 0, -1), N( 0, 0, 1, 0), N( 0, 0, 1, 1) in 4-d lattice N sage: dP6xdP6.gens() (x0, x1, x2, x3, x4, x5, y0, y1, y2, y3, y4, y5) - >>> from sage.all import * >>> dP6xdP6 = toric_varieties.dP6xdP6(); dP6xdP6 4-d CPR-Fano toric variety covered by 36 affine patches >>> dP6xdP6.fan().rays() N( 0, 1, 0, 0), N(-1, 0, 0, 0), N(-1, -1, 0, 0), N( 0, -1, 0, 0), N( 1, 0, 0, 0), N( 1, 1, 0, 0), N( 0, 0, 0, 1), N( 0, 0, -1, 0), N( 0, 0, -1, -1), N( 0, 0, 0, -1), N( 0, 0, 1, 0), N( 0, 0, 1, 1) in 4-d lattice N >>> dP6xdP6.gens() (x0, x1, x2, x3, x4, x5, y0, y1, y2, y3, y4, y5) 
 - dP7(names='x u y v z', base_ring=Rational Field)[source]¶
- Construct the del Pezzo surface of degree 7 (\(\mathbb{P}^2\) blown up at 2 points) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: dP7 = toric_varieties.dP7(); dP7 2-d CPR-Fano toric variety covered by 5 affine patches sage: dP7.fan().rays() N( 0, 1), N(-1, 0), N(-1, -1), N( 0, -1), N( 1, 0) in 2-d lattice N sage: dP7.gens() (x, u, y, v, z) - >>> from sage.all import * >>> dP7 = toric_varieties.dP7(); dP7 2-d CPR-Fano toric variety covered by 5 affine patches >>> dP7.fan().rays() N( 0, 1), N(-1, 0), N(-1, -1), N( 0, -1), N( 1, 0) in 2-d lattice N >>> dP7.gens() (x, u, y, v, z) 
 - dP8(names='t x y z', base_ring=Rational Field)[source]¶
- Construct the del Pezzo surface of degree 8 (\(\mathbb{P}^2\) blown up at 1 point) as a toric variety. - INPUT: - names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - CPR-Fano toric variety.- EXAMPLES: - sage: dP8 = toric_varieties.dP8(); dP8 2-d CPR-Fano toric variety covered by 4 affine patches sage: dP8.fan().rays() N( 1, 1), N( 0, 1), N(-1, -1), N( 1, 0) in 2-d lattice N sage: dP8.gens() (t, x, y, z) - >>> from sage.all import * >>> dP8 = toric_varieties.dP8(); dP8 2-d CPR-Fano toric variety covered by 4 affine patches >>> dP8.fan().rays() N( 1, 1), N( 0, 1), N(-1, -1), N( 1, 0) in 2-d lattice N >>> dP8.gens() (t, x, y, z) 
 - torus(n, names='z+', base_ring=Rational Field)[source]¶
- Construct the - n-dimensional algebraic torus \((\mathbb{F}^\times)^n\).- INPUT: - n– nonnegative integer. The dimension of the algebraic torus
- names– string; names for the homogeneous coordinates. See- normalize_names()for acceptable formats.
- base_ring– a ring (default: \(\QQ\)); the base ring for the toric variety
 - OUTPUT: a - toric variety.- EXAMPLES: - sage: T3 = toric_varieties.torus(3); T3 3-d affine toric variety sage: T3.fan().rays() Empty collection in 3-d lattice N sage: T3.fan().virtual_rays() N(1, 0, 0), N(0, 1, 0), N(0, 0, 1) in 3-d lattice N sage: T3.gens() (z0, z1, z2) sage: sorted(T3.change_ring(GF(3)).point_set().list()) [[1 : 1 : 1], [1 : 1 : 2], [1 : 2 : 1], [1 : 2 : 2], [2 : 1 : 1], [2 : 1 : 2], [2 : 2 : 1], [2 : 2 : 2]] - >>> from sage.all import * >>> T3 = toric_varieties.torus(Integer(3)); T3 3-d affine toric variety >>> T3.fan().rays() Empty collection in 3-d lattice N >>> T3.fan().virtual_rays() N(1, 0, 0), N(0, 1, 0), N(0, 0, 1) in 3-d lattice N >>> T3.gens() (z0, z1, z2) >>> sorted(T3.change_ring(GF(Integer(3))).point_set().list()) [[1 : 1 : 1], [1 : 1 : 2], [1 : 2 : 1], [1 : 2 : 2], [2 : 1 : 1], [2 : 1 : 2], [2 : 2 : 1], [2 : 2 : 2]]