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

blowup -- makes the blowup of a normal toric variety along a torus orbit closure

Synopsis

Description

Roughly speaking, the blowup replaces a subspace of a given space with all the directions pointing out of that subspace. The metaphor is inflation of a balloon rather than an explosion. A blowup is the universal way to turn a subvariety into a Cartier divisor.

The blowup of a normal toric variety along a torus orbit closure is also a normal toric variety. The fan associated to the blowup is star subdivision or stellar subdivision of the fan of the original toric variety. More precisely, we throw out the star of the cone corresponding to s and join a vector v lying the relative interior to the boundary of the star. When the vector v is not specified, the ray corresponding to the sum of all rays in the cone corresponding to s is used.

The simplest example is blowup of the origin in the affine plane. Note that the new ray has the largest index.

i1 : AA2 = affineSpace 2;
i2 : rays AA2

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

o2 : List
i3 : max AA2

o3 = {{0, 1}}

o3 : List
i4 : Bl0 = blowup({0,1},AA2);
i5 : rays Bl0

o5 = {{1, 0}, {0, 1}, {1, 1}}

o5 : List
i6 : max Bl0

o6 = {{0, 2}, {1, 2}}

o6 : List
Here are a few different blowups of a non-simplicial affine toric variety
i7 : C = normalToricVariety({{1,0,0},{1,1,0},{1,0,1},{1,1,1}},{{0,1,2,3}});
i8 : isSimplicial C

o8 = false
i9 : Bl1 = blowup({0,1,2,3},C);
i10 : rays Bl1

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

o10 : List
i11 : max Bl1

o11 = {{0, 1, 4}, {0, 2, 4}, {1, 3, 4}, {2, 3, 4}}

o11 : List
i12 : Bl2 = blowup({0,1},C);
i13 : rays Bl2

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

o13 : List
i14 : max Bl2

o14 = {{0, 4}, {1, 4}, {2, 4}, {3, 4}}

o14 : List
i15 : Bl3 = blowup({0,1,2,3},C,{5,3,4});
i16 : rays Bl3

o16 = {{1, 0, 0}, {1, 1, 0}, {1, 0, 1}, {1, 1, 1}, {5, 3, 4}}

o16 : List
i17 : max Bl3

o17 = {{0, 1, 4}, {0, 2, 4}, {1, 3, 4}, {2, 3, 4}}

o17 : List
The third collection of examples illustrate some blowups of a non-simplicial projective toric variety.
i18 : X = normalToricVariety (id_(ZZ^3) | (-id_(ZZ^3)));
i19 : rays X

o19 = {{1, 1, 1}, {-1, 1, 1}, {1, -1, 1}, {-1, -1, 1}, {1, 1, -1}, {-1, 1,
      -----------------------------------------------------------------------
      -1}, {1, -1, -1}, {-1, -1, -1}}

o19 : List
i20 : max X

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

o20 : List
i21 : isSimplicial X

o21 = false
i22 : orbits(X,1)

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

o22 : List
i23 : Bl4 = blowup({0,2},X);
i24 : rays Bl4

o24 = {{1, 1, 1}, {-1, 1, 1}, {1, -1, 1}, {-1, -1, 1}, {1, 1, -1}, {-1, 1,
      -----------------------------------------------------------------------
      -1}, {1, -1, -1}, {-1, -1, -1}, {1, 0, 1}}

o24 : List
i25 : max Bl4

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

o25 : List
i26 : Bl5 = blowup({6,7},Bl4);
i27 : rays Bl5    

o27 = {{1, 1, 1}, {-1, 1, 1}, {1, -1, 1}, {-1, -1, 1}, {1, 1, -1}, {-1, 1,
      -----------------------------------------------------------------------
      -1}, {1, -1, -1}, {-1, -1, -1}, {1, 0, 1}, {0, -1, -1}}

o27 : List
i28 : max Bl5    

o28 = {{0, 1, 4, 5}, {0, 8}, {1, 3, 5, 7}, {1, 8}, {2, 8}, {2, 9}, {3, 8},
      -----------------------------------------------------------------------
      {3, 9}, {4, 8}, {4, 9}, {5, 9}, {6, 8}, {6, 9}, {7, 9}}

o28 : List
i29 : Bl6 = blowup({1,5},Bl5);
i30 : rays Bl6

o30 = {{1, 1, 1}, {-1, 1, 1}, {1, -1, 1}, {-1, -1, 1}, {1, 1, -1}, {-1, 1,
      -----------------------------------------------------------------------
      -1}, {1, -1, -1}, {-1, -1, -1}, {1, 0, 1}, {0, -1, -1}, {-1, 1, 0}}

o30 : List
i31 : max Bl6

o31 = {{0, 8}, {0, 10}, {1, 8}, {1, 10}, {2, 8}, {2, 9}, {3, 8}, {3, 9}, {3,
      -----------------------------------------------------------------------
      10}, {4, 8}, {4, 9}, {4, 10}, {5, 9}, {5, 10}, {6, 8}, {6, 9}, {7, 9},
      -----------------------------------------------------------------------
      {7, 10}}

o31 : List
i32 : isSimplicial Bl6

o32 = true

Caveat

The method assumes that the list v corresponds to a primitive vector. In other words, the greatest common divisor of its entries is one. The method also assumes that v lies in the relative interior of the cone corresponding to s. If either of these conditions fail, then the output will not be a well-defined normal toric variety.

See also

Ways to use blowup :