# diagonalToricMap -- make a diagonal map into a Cartesian product

## Synopsis

• Usage:
diagonalToricMap X
diagonalToricMap(X,m)
diagonalToricMap(X,m,A)
• Inputs:
• m, an integer, that is positive
• A, an array, whose entries index factors in the m-ary product of X
• Outputs:
• , that is a diagonal map from X into the m-ary Cartesian product of X with itself; the optional argument A indexes factors in the product

## Description

Given a positive integer m and a normal toric variety X, the diagonal morphism is the toric map from X to the m-ary Cartersion product of X such that it composes to the identity with the i-th projection map, for all i in A, and compose to the zero map with the i-th projection maps for all i not in A.

The most important example arises when m = 2. For this case, one may omit both m and A.

 i1 : X = hirzebruchSurface 1; i2 : delta = diagonalToricMap X o2 = | 1 0 | | 0 1 | | 1 0 | | 0 1 | o2 : ToricMap normalToricVariety ({{1, 0, 0, 0}, {0, 1, 0, 0}, {-1, 1, 0, 0}, {0, -1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}, {0, 0, -1, 1}, {0, 0, 0, -1}}, {{0, 1, 4, 5}, {0, 1, 4, 7}, {0, 1, 5, 6}, {0, 1, 6, 7}, {0, 3, 4, 5}, {0, 3, 4, 7}, {0, 3, 5, 6}, {0, 3, 6, 7}, {1, 2, 4, 5}, {1, 2, 4, 7}, {1, 2, 5, 6}, {1, 2, 6, 7}, {2, 3, 4, 5}, {2, 3, 4, 7}, {2, 3, 5, 6}, {2, 3, 6, 7}}) <--- X i3 : assert (isWellDefined delta and source delta === X and target delta === X ^** 2) i4 : S = ring target delta; i5 : I = ideal delta o5 = ideal (x x - x x , x x x - x x x , x x x - x x x ) 2 4 0 6 3 5 6 1 2 7 3 4 5 0 1 7 o5 : Ideal of S i6 : assert (codim I === dim X) i7 : X2 = target delta; i8 : assert (X2^[0] * delta == id_X and X2^[1] * delta == id_X) i9 : assert (delta == diagonalToricMap(X,2) and delta == diagonalToricMap(X,2,[0,1]))

We may also recover the canonical inclusions.

 i10 : X2 = target delta; i11 : assert (X2_[0] == diagonalToricMap(X,2,[0])) i12 : assert (X2_[1] == diagonalToricMap(X,2,[1]))

When there are more than to factors, a diagonal can map to any subset of the factors. By omitting A, we obtain the large diagonal.

 i13 : m = 3; i14 : largeD = diagonalToricMap(X, m) o14 = | 1 0 | | 0 1 | | 1 0 | | 0 1 | | 1 0 | | 0 1 | o14 : ToricMap normalToricVariety ({{1, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0}, {-1, 1, 0, 0, 0, 0}, {0, -1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0}, {0, 0, -1, 1, 0, 0}, {0, 0, 0, -1, 0, 0}, {0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, -1, 1}, {0, 0, 0, 0, 0, -1}}, {{0, 1, 4, 5, 8, 9}, {0, 1, 4, 5, 8, 11}, {0, 1, 4, 5, 9, 10}, {0, 1, 4, 5, 10, 11}, {0, 1, 4, 7, 8, 9}, {0, 1, 4, 7, 8, 11}, {0, 1, 4, 7, 9, 10}, {0, 1, 4, 7, 10, 11}, {0, 1, 5, 6, 8, 9}, {0, 1, 5, 6, 8, 11}, {0, 1, 5, 6, 9, 10}, {0, 1, 5, 6, 10, 11}, {0, 1, 6, 7, 8, 9}, {0, 1, 6, 7, 8, 11}, {0, 1, 6, 7, 9, 10}, {0, 1, 6, 7, 10, 11}, {0, 3, 4, 5, 8, 9}, {0, 3, 4, 5, 8, 11}, {0, 3, 4, 5, 9, 10}, {0, 3, 4, 5, 10, 11}, {0, 3, 4, 7, 8, 9}, {0, 3, 4, 7, 8, 11}, {0, 3, 4, 7, 9, 10}, {0, 3, 4, 7, 10, 11}, {0, 3, 5, 6, 8, 9}, {0, 3, 5, 6, 8, 11}, {0, 3, 5, 6, 9, 10}, {0, 3, 5, 6, 10, 11}, {0, 3, 6, 7, 8, 9}, {0, 3, 6, 7, 8, 11}, {0, 3, 6, 7, 9, 10}, {0, 3, 6, 7, 10, 11}, {1, 2, 4, 5, 8, 9}, {1, 2, 4, 5, 8, 11}, {1, 2, 4, 5, 9, 10}, {1, 2, 4, 5, 10, 11}, {1, 2, 4, 7, 8, 9}, {1, 2, 4, 7, 8, 11}, {1, 2, 4, 7, 9, 10}, {1, 2, 4, 7, 10, 11}, {1, 2, 5, 6, 8, 9}, {1, 2, 5, 6, 8, 11}, {1, 2, 5, 6, 9, 10}, {1, 2, 5, 6, 10, 11}, {1, 2, 6, 7, 8, 9}, {1, 2, 6, 7, 8, 11}, {1, 2, 6, 7, 9, 10}, {1, 2, 6, 7, 10, 11}, {2, 3, 4, 5, 8, 9}, {2, 3, 4, 5, 8, 11}, {2, 3, 4, 5, 9, 10}, {2, 3, 4, 5, 10, 11}, {2, 3, 4, 7, 8, 9}, {2, 3, 4, 7, 8, 11}, {2, 3, 4, 7, 9, 10}, {2, 3, 4, 7, 10, 11}, {2, 3, 5, 6, 8, 9}, {2, 3, 5, 6, 8, 11}, {2, 3, 5, 6, 9, 10}, {2, 3, 5, 6, 10, 11}, {2, 3, 6, 7, 8, 9}, {2, 3, 6, 7, 8, 11}, {2, 3, 6, 7, 9, 10}, {2, 3, 6, 7, 10, 11}}) <--- X i15 : assert (isWellDefined largeD and source largeD === X and target largeD === X ^** m) i16 : assert (codim ideal largeD === (m-1) * dim X) i17 : assert (largeD == diagonalToricMap(X, m, [0,1,2]))

By using the array to specify a proper subset of the factors, we obtain a small diagonal.

 i18 : smallD = diagonalToricMap (X, 3, [0,2]) o18 = | 1 0 | | 0 1 | | 0 0 | | 0 0 | | 1 0 | | 0 1 | o18 : ToricMap normalToricVariety ({{1, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0}, {-1, 1, 0, 0, 0, 0}, {0, -1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0}, {0, 0, -1, 1, 0, 0}, {0, 0, 0, -1, 0, 0}, {0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, -1, 1}, {0, 0, 0, 0, 0, -1}}, {{0, 1, 4, 5, 8, 9}, {0, 1, 4, 5, 8, 11}, {0, 1, 4, 5, 9, 10}, {0, 1, 4, 5, 10, 11}, {0, 1, 4, 7, 8, 9}, {0, 1, 4, 7, 8, 11}, {0, 1, 4, 7, 9, 10}, {0, 1, 4, 7, 10, 11}, {0, 1, 5, 6, 8, 9}, {0, 1, 5, 6, 8, 11}, {0, 1, 5, 6, 9, 10}, {0, 1, 5, 6, 10, 11}, {0, 1, 6, 7, 8, 9}, {0, 1, 6, 7, 8, 11}, {0, 1, 6, 7, 9, 10}, {0, 1, 6, 7, 10, 11}, {0, 3, 4, 5, 8, 9}, {0, 3, 4, 5, 8, 11}, {0, 3, 4, 5, 9, 10}, {0, 3, 4, 5, 10, 11}, {0, 3, 4, 7, 8, 9}, {0, 3, 4, 7, 8, 11}, {0, 3, 4, 7, 9, 10}, {0, 3, 4, 7, 10, 11}, {0, 3, 5, 6, 8, 9}, {0, 3, 5, 6, 8, 11}, {0, 3, 5, 6, 9, 10}, {0, 3, 5, 6, 10, 11}, {0, 3, 6, 7, 8, 9}, {0, 3, 6, 7, 8, 11}, {0, 3, 6, 7, 9, 10}, {0, 3, 6, 7, 10, 11}, {1, 2, 4, 5, 8, 9}, {1, 2, 4, 5, 8, 11}, {1, 2, 4, 5, 9, 10}, {1, 2, 4, 5, 10, 11}, {1, 2, 4, 7, 8, 9}, {1, 2, 4, 7, 8, 11}, {1, 2, 4, 7, 9, 10}, {1, 2, 4, 7, 10, 11}, {1, 2, 5, 6, 8, 9}, {1, 2, 5, 6, 8, 11}, {1, 2, 5, 6, 9, 10}, {1, 2, 5, 6, 10, 11}, {1, 2, 6, 7, 8, 9}, {1, 2, 6, 7, 8, 11}, {1, 2, 6, 7, 9, 10}, {1, 2, 6, 7, 10, 11}, {2, 3, 4, 5, 8, 9}, {2, 3, 4, 5, 8, 11}, {2, 3, 4, 5, 9, 10}, {2, 3, 4, 5, 10, 11}, {2, 3, 4, 7, 8, 9}, {2, 3, 4, 7, 8, 11}, {2, 3, 4, 7, 9, 10}, {2, 3, 4, 7, 10, 11}, {2, 3, 5, 6, 8, 9}, {2, 3, 5, 6, 8, 11}, {2, 3, 5, 6, 9, 10}, {2, 3, 5, 6, 10, 11}, {2, 3, 6, 7, 8, 9}, {2, 3, 6, 7, 8, 11}, {2, 3, 6, 7, 9, 10}, {2, 3, 6, 7, 10, 11}}) <--- X i19 : assert (isWellDefined smallD and source smallD === X and target smallD === X ^** m) i20 : assert (codim ideal smallD === (m-1) * dim X) i21 : X3 = target smallD; i22 : assert (X3^[0] * smallD == id_X and X3^[1] * smallD == map(X,X,0) and X3^[2] * smallD == id_X)