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
lying the relative interior to the boundary of the star. When the vector
is not specified, the ray corresponding to the sum of all rays in the cone corresponding to
is used.
The simplest example is blowup of the origin in the affine plane. Note that the new ray has the largest index.
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
|