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

## Synopsis

• Usage:
orbits (X, i)
• Function: orbits
• Inputs:
• 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, …, n. Using this indexing, an orbit or cone corresponds to a sublist of {0, 1, …, 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```