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

normalToricVariety(Matrix) -- make a normal toric variety from a polytope

Synopsis

Description

This method makes a NormalToricVariety from the polytope with vertices corresponding to the columns of the matrix V. In particular, the associated fan is the inner normal fan of the polytope.

The first example shows how projective 2-space is obtained from a triangle

i1 : PP2 = normalToricVariety matrix {{0,1,0},{0,0,1}};
i2 : rays PP2

o2 = {{1, 0}, {0, 1}, {-1, -1}}

o2 : List
i3 : max PP2

o3 = {{0, 1}, {0, 2}, {1, 2}}

o3 : List
i4 : PP2' = projectiveSpace 2;
i5 : set rays PP2 === set rays PP2'

o5 = true
i6 : max PP2 === max PP2'

o6 = true
The second example makes the toric variety associated to the hypercube in affine 3-space
i7 : X = normalToricVariety (id_(ZZ^3) | -id_(ZZ^3));
i8 : isSimplicial X

o8 = false
i9 : transpose matrix rays X, max X

o9 = (| 1 -1 1  -1 1  -1 1  -1 |, {{0, 1, 2, 3}, {0, 1, 4, 5}, {0, 2, 4, 6},
      | 1 1  -1 -1 1  1  -1 -1 |
      | 1 1  1  1  -1 -1 -1 -1 |
     ------------------------------------------------------------------------
     {1, 3, 5, 7}, {2, 3, 6, 7}, {4, 5, 6, 7}})

o9 : Sequence
The optional argument MinimalGenerators specifics whether to compute the vertices of the polytope defined as the convex hull of the columns of the matrix A.
i10 : FF1 = normalToricVariety matrix {{0,1,0,2},{0,0,1,1}};
i11 : rays FF1

o11 = {{1, 0}, {0, 1}, {-1, 1}, {0, -1}}

o11 : List
i12 : max FF1 

o12 = {{0, 1}, {0, 3}, {1, 2}, {2, 3}}

o12 : List
i13 : FF1' = hirzebruchSurface 1;
i14 : rays FF1 === rays FF1'

o14 = true
i15 : max FF1 === max FF1'

o15 = true
i16 : V = matrix {{0,0,1,1,2},{0,1,0,1,1}}

o16 = | 0 0 1 1 2 |
      | 0 1 0 1 1 |

               2        5
o16 : Matrix ZZ  <--- ZZ
i17 : notFF1 = normalToricVariety V;
i18 : max notFF1

o18 = {{0, 1}, {0, 3}, {1, 2}, {2, 3}, {3}}

o18 : List
i19 : isWellDefined notFF1

o19 = false
i20 : FF1'' = normalToricVariety(V, MinimalGenerators => true);
i21 : rays FF1'' == rays FF1

o21 = true
i22 : max FF1'' == max FF1

o22 = true

See also