# NormalToricVariety _ Array -- make a canonical inclusion into a product

## Synopsis

• Operator: _
• Usage:
X _ A
• Inputs:
• X, , that is a constructed as a product
• A, an array, whose entries index factors in the product construction of X
• Outputs:
• , that is a canonical inclusion from the product of the factors indexed by A into the product X

## Description

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_ o4 = | 1 | | 0 | | 0 | o4 : ToricMap X <--- Y0 i5 : assert (isWellDefined X_ and source X_ === Y0 and target X_ === X) i6 : X_ o6 = | 0 0 | | 1 0 | | 0 1 | o6 : ToricMap X <--- Y1 i7 : assert (isWellDefined X_ and source X_ === Y1 and target X_ === X)

The canonical inclusions interact with the canonical projections in the expected way.

 i8 : assert (X^ * X_ == id_Y0 and X^ * X_ == id_Y1) i9 : assert (X^ * X_ == map(Y1, Y0, 0) and X^ * X_ == 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_ o13 = | 1 | | 0 | | 0 | o13 : ToricMap Z <--- Y0 i14 : Z_ o14 = | 0 | | 1 | | 0 | o14 : ToricMap Z <--- Y0 i15 : Z_ 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_ o24 = | 1 0 | | 0 1 | o24 : ToricMap Y1 <--- Y1 i25 : assert (Y1_ == id_Y1)