next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
NormalToricVarieties :: normalToricVariety(Fan)

normalToricVariety(Fan) -- make a normal toric variety from a 'Polyhedra' fan

Synopsis

Description

This method makes a NormalToricVariety from a Fan as implemented in the Polyhedra package.
i1 : F = faceFan hypercube 3

o1 = {ambient dimension => 3         }
      number of generating cones => 6
      number of rays => 8
      top dimension of the cones => 3

o1 : Fan
i2 : X = normalToricVariety F;
i3 : rays X

o3 = {{1, -1, 1}, {1, 1, -1}, {-1, 1, -1}, {1, 1, 1}, {-1, -1, -1}, {-1, 1,
     ------------------------------------------------------------------------
     1}, {-1, -1, 1}, {1, -1, -1}}

o3 : List
i4 : max X

o4 = {{0, 1, 3, 7}, {0, 3, 5, 6}, {0, 4, 6, 7}, {1, 2, 3, 5}, {1, 2, 4, 7},
     ------------------------------------------------------------------------
     {2, 4, 5, 6}}

o4 : List

Remark

The recommended method for creating a NormalToricVariety from a fan is normalToricVariety(List,List). In fact, this package avoids using objects from the Polyhedra whenever possible because their significant overhead. For example, creating a Fan requires computing the polar dual (twice) for each cone in the fan. Here is a trivial example, namely projective 2-space, illustrating the substantial increase in time resulting from the use of a Polyhedra fan.
i5 : X1 = time normalToricVariety({{-1,-1},{1,0},{0,1}}, {{0,1},{1,2},{0,2}});
     -- used 0.000018909 seconds
i6 : rays X1

o6 = {{-1, -1}, {1, 0}, {0, 1}}

o6 : List
i7 : max X1

o7 = {{0, 1}, {0, 2}, {1, 2}}

o7 : List
i8 : X2 = time normalToricVariety fan {
           posHull matrix {{-1,1},{-1,0}}, 
           posHull matrix {{1,0},{0,1}}, 
           posHull matrix{{-1,0},{-1,1}}};
     -- used 0.0756777 seconds
i9 : rays X2

o9 = {{-1, -1}, {1, 0}, {0, 1}}

o9 : List
i10 : max X2

o10 = {{0, 1}, {0, 2}, {1, 2}}

o10 : List

See also