# orbits(NormalToricVariety,ZZ) -- get a list of the torus orbits (a.k.a. cones in the fan) of a given dimension

## Synopsis

• Function: orbits
• Usage:
orbits (X, i)
• Inputs:
• X, ,
• i, an integer, determining the dimension of the orbits
• Outputs:
• a list, of lists of integers indexing the torus orbits

## Description

A normal toric variety is a disjoint union of its orbits under the action of its algebraic torus. These orbits are in bijection with the cones in the associated fan. Each cone is determined by the rays it contains. In this package, the rays are ordered and indexed by nonnegative integers: $0, 1, \dots, n$. Using this indexing, an orbit or cone corresponds to a sublist of $\{ 0, 1, \dots, n \}$; the entries index the rays that generate the cone.

The projective plane has three fixed points and three fixed curves (under the action of its torus), and projective $3$-space has four fixed points, six fixed curves, and four divisors.

 i1 : PP2 = toricProjectiveSpace 2; i2 : orbits (PP2,0) o2 = {{0, 1}, {0, 2}, {1, 2}} o2 : List i3 : orbits (PP2,1) o3 = {{0}, {1}, {2}} o3 : List i4 : orbits (PP2,2) o4 = {{}} o4 : List i5 : PP3 = toricProjectiveSpace 3; i6 : orbits (PP3,0) o6 = {{0, 1, 2}, {0, 1, 3}, {0, 2, 3}, {1, 2, 3}} o6 : List i7 : orbits (PP3,1) o7 = {{0, 1}, {0, 2}, {0, 3}, {1, 2}, {1, 3}, {2, 3}} o7 : List i8 : orbits (PP3,2) o8 = {{0}, {1}, {2}, {3}} o8 : List i9 : orbits (PP3,3) o9 = {{}} o9 : List

Here is a non-simplicial example. Since it is nondegenerate, the fixed points correspond to the maximal cones in the fan. The rays always correspond to the divisors.

 i10 : X = normalToricVariety (id_(ZZ^3) | -id_(ZZ^3)); i11 : orbits (X,0) o11 = {{0, 1, 2, 3}, {0, 1, 4, 5}, {0, 2, 4, 6}, {1, 3, 5, 7}, {2, 3, 6, 7}, ----------------------------------------------------------------------- {4, 5, 6, 7}} o11 : List i12 : assert (orbits (X,0) === max X) i13 : orbits (X,1) o13 = {{0, 1}, {0, 2}, {0, 4}, {1, 3}, {1, 5}, {2, 3}, {2, 6}, {3, 7}, {4, ----------------------------------------------------------------------- 5}, {4, 6}, {5, 7}, {6, 7}} o13 : List i14 : orbits (X,2) o14 = {{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}} o14 : List i15 : assert (orbits (X,2) === apply (#rays X, i -> {i})) i16 : orbits (X,3) o16 = {{}} o16 : List i17 : assert (orbits (X,3) === {{}})

The following degenerate example has no fixed points.

 i18 : U = normalToricVariety ({{4,-1,0},{0,1,0}},{{0,1}}); i19 : assert isDegenerate U i20 : orbits (U,0) o20 = {} o20 : List i21 : orbits (U,1) o21 = {{0, 1}} o21 : List i22 : orbits (U,2) o22 = {{0}, {1}} o22 : List i23 : orbits (U,3) o23 = {{}} o23 : List i24 : dim U o24 = 3

To routine extracts the requested list from hashTable returned by orbits(NormalToricVariety).