Macaulay2 » Documentation
Packages » NormalToricVarieties :: normalToricVariety(Matrix)
next | previous | forward | backward | up | index | toc

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

Synopsis

Description

This method makes a normal toric variety from the polytope with vertices corresponding to the columns of the matrix VertMat. In particular, the associated fan is the INNER normal fan of the polytope.

The first example shows how projective plane 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' = toricProjectiveSpace 2;
i5 : set rays PP2 === set rays PP2'

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

o6 = true
i7 : assert (isWellDefined PP2 and isWellDefined PP2')

The second example makes the toric variety associated to the hypercube in $3$-space.

i8 : X = normalToricVariety (id_(ZZ^3) | -id_(ZZ^3));
i9 : transpose matrix rays X

o9 = | 1 -1 1  -1 1  -1 1  -1 |
     | 1 1  -1 -1 1  1  -1 -1 |
     | 1 1  1  1  -1 -1 -1 -1 |

              3       8
o9 : Matrix ZZ  <-- ZZ
i10 : max X

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

o10 : List
i11 : assert (isWellDefined X and not isSimplicial X)

The optional argument MinimalGenerators specifics whether to compute the vertices of the polytope defined as the convex hull of the columns of the matrix VertMat.

i12 : FF1 = normalToricVariety matrix {{0,1,0,2},{0,0,1,1}};
i13 : assert isWellDefined FF1
i14 : rays FF1

o14 = {{1, 0}, {0, 1}, {-1, 1}, {0, -1}}

o14 : List
i15 : max FF1

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

o15 : List
i16 : FF1' = hirzebruchSurface 1;
i17 : assert (rays FF1 === rays FF1' and max FF1 === max FF1')
i18 : VertMat = matrix {{0,0,1,1,2},{0,1,0,1,1}}

o18 = | 0 0 1 1 2 |
      | 0 1 0 1 1 |

               2       5
o18 : Matrix ZZ  <-- ZZ
i19 : notFF1 = normalToricVariety VertMat;
i20 : max notFF1

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

o20 : List
i21 : isWellDefined notFF1

o21 = false
i22 : FF1'' = normalToricVariety (VertMat, MinimalGenerators => true);
i23 : assert (rays FF1'' == rays FF1 and max FF1'' == max FF1)
i24 : assert isWellDefined FF1''

See also

Ways to use this method: