A product of varieties is equipped with canonical inclusion maps from a product of any subset of its factors. Given a product of normal toric varieties and a nonempty array, this methods provides a concise way to make these toric maps.
The product of two normal toric varieties has inclusions from each factor.
i1 : Y0 = toricProjectiveSpace 1; |
i2 : Y1 = hirzebruchSurface 3; |
i3 : X = Y0 ** Y1; |
i4 : X_[0]
o4 = | 1 |
| 0 |
| 0 |
o4 : ToricMap X <--- Y0
|
i5 : assert (isWellDefined X_[0] and source X_[0] === Y0 and target X_[0] === X) |
i6 : X_[1]
o6 = | 0 0 |
| 1 0 |
| 0 1 |
o6 : ToricMap X <--- Y1
|
i7 : assert (isWellDefined X_[1] and source X_[1] === Y1 and target X_[1] === X) |
The canonical inclusions interact with the canonical projections in the expected way.
i8 : assert (X^[0] * X_[0] == id_Y0 and X^[1] * X_[1] == id_Y1) |
i9 : assert (X^[1] * X_[0] == map(Y1, Y0, 0) and X^[0] * X_[1] == map(Y0, Y1, 0)) |
If A indexes all the factors, then we simply obtain the identity map on X.
i10 : X_[0,1]
o10 = | 1 0 0 |
| 0 1 0 |
| 0 0 1 |
o10 : ToricMap X <--- X
|
i11 : assert (X_[0,1] == id_X) |
When there are more than two factors, we also obtain inclusions from any subset of the factors.
i12 : Z = Y0 ^** 3; |
i13 : Z_[0]
o13 = | 1 |
| 0 |
| 0 |
o13 : ToricMap Z <--- Y0
|
i14 : Z_[1]
o14 = | 0 |
| 1 |
| 0 |
o14 : ToricMap Z <--- Y0
|
i15 : Z_[2]
o15 = | 0 |
| 0 |
| 1 |
o15 : ToricMap Z <--- Y0
|
i16 : assert all (3, i -> isWellDefined Z_[i] and source Z_[i] === Y0 and target Z_[i] === Z) |
i17 : Z_[0,1]
o17 = | 1 0 |
| 0 1 |
| 0 0 |
o17 : ToricMap Z <--- normalToricVariety ({{-1, 0}, {1, 0}, {0, -1}, {0, 1}}, {{0, 2}, {0, 3}, {1, 2}, {1, 3}})
|
i18 : Z_[0,2]
o18 = | 1 0 |
| 0 0 |
| 0 1 |
o18 : ToricMap Z <--- normalToricVariety ({{-1, 0}, {1, 0}, {0, -1}, {0, 1}}, {{0, 2}, {0, 3}, {1, 2}, {1, 3}})
|
i19 : Z_[1,2]
o19 = | 0 0 |
| 1 0 |
| 0 1 |
o19 : ToricMap Z <--- normalToricVariety ({{-1, 0}, {1, 0}, {0, -1}, {0, 1}}, {{0, 2}, {0, 3}, {1, 2}, {1, 3}})
|
i20 : assert (isWellDefined Z_[1,2] and source Z_[1,2] === Y0 ** Y0) |
i21 : Z_[0,1,2]
o21 = | 1 0 0 |
| 0 1 0 |
| 0 0 1 |
o21 : ToricMap Z <--- Z
|
i22 : assert (Z_[0,1,2] == id_Z) |
When the normal toric variety is not constructed as a product, this method only reproduces the identity map.
i23 : components Y1
o23 = {Y1}
o23 : List
|
i24 : Y1_[0]
o24 = | 1 0 |
| 0 1 |
o24 : ToricMap Y1 <--- Y1
|
i25 : assert (Y1_[0] == id_Y1) |