Cox Rings
The Cox ring of a toric variety \(X\) is a polynomial ring whose variables are in bijection with the 1-skeleton of the fan of \(X\) together with three sequences of additional data:
- (1)
a sequence of the components of an ideal called the irrelevant ideal;
- (2)
a sequence of integral lattice points determining weights of \({\bf G}_m\) actions, called the Z weights;
- (3)
a sequence of rational lattice points determining weights of finite cyclic group actions, called the quotient weights.
When the Cox ring of a toric variety is displayed in Magma, all nontrivial data is also printed, but any sequences that are empty are omitted.
Cox rings provide a powerful way to construct toric varieties: under some mild conditions, specification of data of this nature determines a toric variety.
The Cox Ring of a Toric Variety
Cox [Cox95] associates a ring, now called the Cox ring, to a toric variety, and Magma allows exactly the same construction.
- CoxRing(k, F): Fld, TorFan -> RngCox
The Cox ring of the toric variety defined over field \(k\) by the fan \(F\).
- Example: Cox Ring of a Weighted Projective Plane (ex-d5e182)
Run in calculator (opens in a new tab)
We build the weighted projective space \({\mathbb{P}}^2(1,2,3)\).
> P<x,y,z> := ProjectiveSpace(Rationals(),[1,2,3]);
The Cox ring of \({\mathbb{P}}^2(1,2,3)\) is the usual homogeneous coordinate ring, graded by the weights \(1,2,3\) of the space—that is, \(x\) has weight 1, \(y\) has weight 2 and \(z\) has weight 3.
> CoxRing(P); Cox ring with underlying Graded Polynomial ring of rank 3 over Rational Field Order: Graded Reverse Lexicographical Variables: x, y, z Variable weights: [1, 2, 3] The irrelevant ideal is: (x, y, z) The grading is: 1, 2, 3
The irrelevant ideal is the usual one for projective spaces: it decrees that \((0,0,0)\) is not a point of \({\mathbb{P}}^2\) since it lies in the locus defined by the irrelevant ideal.
- Example: Toric Variety with a Fan Like the Plane (ex-7eeae1)
Run in calculator (opens in a new tab)
We build a toric variety \(X_2\) whose fan resembles that of \({\mathbb{P}}^2\).
> F2 := Fan([[1,2],[-2,-1],[1,-1]], [[1,2],[1,3],[2,3]]); > X2<u,v,w> := ToricVariety(Rationals(),F2);
However, \(X\) is not isomorphic to \(\P^2\). The small catch is that the 1-skeleton of the fan \(F_2\) that we defined (in other words, those three vectors \((1,2)\), \((-2,-1)\), and \((1,-1)\)) does not generate the lattice \(N\), but only a sublattice. So \(X\) will be the quotient of \(\P^2\) by some finite group action.
> CoxRing(X2); Cox ring with underlying Polynomial ring of rank 3 over Rational Field Order: Lexicographical Variables: u, v, w The irrelevant ideal is: (w, v, u) The quotient grading is: 1/3( 0, 2, 1 ) The integer grading is: 1, 1, 1
The returned data are very similar to those for the Cox ring of \({\mathbb{P}}^2\). The difference is in the third piece of data: a sequence containing the single element \(1/3(0,2,1)\). This indicates that \(X\) is the quotient of \({\mathbb{P}}^2\) by the action of \({\mathbb{Z}}/3\) given by
\[\varepsilon\colon (u,v,w) \mapsto (u, \varepsilon^2 v, \varepsilon w).\]where \(\varepsilon\) is a cube-root of unity.
Cox Rings in Their Own Right
The introduction to this section describes Cox rings in abstract terms. It is possible to define them as polynomial rings plus additional data without naming a toric variety or a fan in the first place.
- CoxRing(R, B, Z, Q): RngMPol, SeqEnum, SeqEnum, SeqEnum -> RngCox
The Cox ring with polynomial ring \(R\) of rank \(n\) (that is, having \(n\) variables) and additional data as follows: \(B\) is a sequence of ideals (or of sequences of elements of \(R\), each of which will be interpreted as the generators of ideals); \(Z\) is a sequence of sequences of integers, each one of length \(n\); \(Q\) is a sequence of sequences of rationals, each one of length \(n\).
The sequence \(B\) is regarded as the components of the irrelevant ideal, and \(Z\) and \(Q\) are the Z weights and quotient weights respectively.
- C1 eq C2: RngCox, RngCox -> BoolElt
Return
trueif and only if the two Cox rings \(C_1\) and \(C_2\) have the same underlying polynomial rings and are defined by the same combinatorial data.
- BaseRing(C): RngCox -> Fld
- CoefficientRing(C): RngCox -> Fld
The coefficient field of the Cox ring \(C\).
- Length(C): RngCox -> RngIntElt
The rank of the underlying polynomial ring of the Cox ring \(C\), that is, the number of polynomial variables of \(C\).
- IrrelevantComponents(C): RngCox -> SeqEnum
A sequence containing the components of the irrelevant ideal of the Cox ring \(C\).
- IrrelevantGenerators(C): RngCox -> SeqEnum
A sequence of sequences, each containing the generators of the components of the irrelevant ideal of the Cox ring \(C\).
- Gradings(C): RngCox -> RngIntElt
The Z gradings of the Cox ring \(C\), that is, a sequence of sequences of integers.
- QuotientGradings(C): RngCox -> RngIntElt
The quotient gradings of the Cox ring \(C\), that is, a sequence of sequences of rational numbers.
- NumberOfQuotientGradings(C): RngCox -> RngIntElt
The number of quotient gradings of the Cox ring \(C\).
- C . i: RngCox, RngInt -> RngMPolElt
The \(i\)-th indeterminate for the underlying polynomial ring of the Cox ring \(C\).
- AssignNames(~C, S): RngCox, [MonStgElt]
Procedure to change the printed names of the indeterminates of the Cox ring \(C\). The \(i\)th indeterminate will be given name the \(i\)th element of the sequence \(S\) of strings (which has length at most the number of indeterminates of \(C\)). This does not change the names of the indeterminates for calling—this must be done with an explicit assignment or with the angle bracket notation when defining the Cox ring in the first place.
Recovering a Toric Variety From a Cox Ring
It is simple either to recover a toric variety from a Cox ring (if one exists at all) or the fan and associated lattice machinery corresponding to the toric variety. The algorithm is straightforward: use the Z weights to determine the rays of a fan and then the irrelevant ideal to construct the rest of the cone structure of the fan. The quotient weights may then require the lattice to be extended to a larger lattice but containing the same fan. With this point of view, the Cox ring can be regarded as the primary collection of data of a toric variety.
- ToricVariety(C): RngCox -> TorVar
The toric variety whose Cox ring is \(C\). It is not checked whether the Cox data defines a toric variety; if you are unsure, you should ask for the fan.
- Example: Toric Variety from a Cox Ring (ex-e56de4)
Run in calculator (opens in a new tab)
Sometimes, rather than defining a fan, it is easier to construct a Cox ring first and build a toric variety from that.
> R<x1,x2,x3,y1,y2,y3,y4> := PolynomialRing(Rationals(),7); > I := [ ideal<R|x1,x2,x3>, ideal<R|y1,y2,y3,y4> ]; > Z := [ [1,1,1,0,-3,-5,-5], [0,0,0,1,1,1,1] ]; > Q := []; > C := CoxRing(R,I,Z,Q); > C; Cox ring C with underlying Polynomial ring of rank 7 over Rational Field Order: Lexicographical Variables: x1, x2, x3, y1, y2, y3, y4 The components of the irrelevant ideal are: (y4, y3, y2, y1), (x3, x2, x1) The 2 gradings are: 1, 1, 1, 0, -3, -5, -5, 0, 0, 0, 1, 1, 1, 1 > X := ToricVariety(C); > X; Toric variety of dimension 5 Variables: x1, x2, x3, y1, y2, y3, y4 The components of the irrelevant ideal are: (y4, y3, y2, y1), (x3, x2, x1) The 2 gradings are: 1, 1, 1, 0, -3, -5, -5, 0, 0, 0, 1, 1, 1, 1
Now Magma can compute the fan of \(X\) if we really want it.
> Fan(X); Fan with 7 rays: ( 1, 0, 0, 0, 0), ( 0, 1, 0, 0, 0), ( 0, 0, 1, 0, 0), ( 1, 1, 1, 2, 0), (-3, -3, -3, -5, 0), ( 0, 0, 0, 0, 1), ( 2, 2, 2, 3, -1) and 12 cones
- Fan(C): RngCox -> TorFan
The fan associated to the Cox ring is \(C\); an error is reported if there is no such fan.
- BasisOfRationalFunctionField(X): TorVar -> SeqEnum
A basis of the rational function field of the toric variety \(X\) expressed in terms of rational monomials in the Cox ring.
- BasisOfDegree0CoxMonomials(X): TorVar -> SeqEnum
A basis of the rational function field of the toric variety \(X\) expressed in terms of lattice points in the Cox monomials lattice.
- OneParameterSubgroupsLattice(C): RngCox -> TorLat
The one-parameter subgroups lattice of the Cox ring \(C\).