next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
NormalToricVarieties :: orbits

orbits -- make a hashtable indexing the proper torus orbits

Synopsis

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,…,n. Using this indexing, an orbit or cone corresponds to a sublist of {0,…,n}; the entries index the rays that generate the cone.

Projective 2-space 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. More generally, the orbits of projective (n-1)-space are enumerated by the n-th row of Pascal's triangle.

i1 : O2 = orbits projectiveSpace 2

o1 = HashTable{0 => {{0, 1}, {0, 2}, {1, 2}}}
               1 => {{0}, {1}, {2}}

o1 : HashTable
i2 : #O2#0

o2 = 3
i3 : #O2#1

o3 = 3
i4 : O3 = orbits projectiveSpace 3     

o4 = HashTable{0 => {{0, 1, 2}, {0, 1, 3}, {0, 2, 3}, {1, 2, 3}}    }
               1 => {{0, 1}, {0, 2}, {0, 3}, {1, 2}, {1, 3}, {2, 3}}
               2 => {{0}, {1}, {2}, {3}}

o4 : HashTable
i5 : apply(keys O3, k -> #O3#k)

o5 = {4, 6, 4}

o5 : List
i6 : apply(4, k -> #(orbits projectiveSpace 4)#k)

o6 = {5, 10, 10, 5}

o6 : List
i7 : apply(5, k -> #(orbits projectiveSpace 5)#k)    

o7 = {6, 15, 20, 15, 6}

o7 : List
Here is a non-simplicial example.
i8 : X = normalToricVariety(id_(ZZ^3) | -id_(ZZ^3));
i9 : isSimplicial X

o9 = false
i10 : orbits X

o10 = HashTable{0 => {{0, 1, 2, 3}, {0, 1, 4, 5}, {0, 2, 4, 6}, {1, 3, 5, 7}, {2, 3, 6, 7}, {4, 5, 6, 7}}            }
                1 => {{0, 1}, {0, 2}, {0, 4}, {1, 3}, {1, 5}, {2, 3}, {2, 6}, {3, 7}, {4, 5}, {4, 6}, {5, 7}, {6, 7}}
                2 => {{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}}

o10 : HashTable
The following degenerate example has no fixed points
i11 : U = normalToricVariety({{4,-1,0},{0,1,0}},{{0,1}});
i12 : isDegenerate U

o12 = true
i13 : orbits U

o13 = HashTable{0 => {}        }
                1 => {{0, 1}}
                2 => {{0}, {1}}

o13 : HashTable

See also

Ways to use orbits :