- Usage:
`pieri(mu, boxes, P)`

- Inputs:
`mu`, a list, a partition (mu_1, ..., mu_r) where mu_i is the number of boxes in the ith row`boxes`, a list, a list of rows from which to remove boxes (boxes are always removed from the end of the row). This specifies which map of GL(V) representations we want. The row indices start from 1 and not 0, and this must specify a horizontal strip in mu (see description below).`P`, a polynomial ring, a polynomial ring over a field K in n variables

- Outputs:
- a matrix, If K has characteristic 0, then given the partition mu and the partition mu' obtained from mu by removing a single box, there is a unique (up to nonzero scalar) GL(V)-equivariant inclusion S_mu V -> V otimes S_mu' V, where S_mu refers to the irreducible representation of GL(V) with highest weight mu. This can be extended uniquely to a map of P = Sym(V)-modules P otimes S_mu V -> P otimes S_mu' V. This method computes the matrix representation for the composition of maps that one obtains by iterating this procedure of removing boxes, i.e., the final output is a GL(V)-equivariant map P otimes S_mu V -> P otimes S_lambda V where lambda is the partition obtained from mu by deleting a box from row boxes_0, a box from row boxes_1, etc. If K has positive characteristic, then the corresponding map is calculated over QQ, lifted to a ZZ-form of the representation which has the property that the map has a torsion-free cokernel over ZZ, and then the coefficients are reduced to K.

Convention: the partition (d) represents the dth symmetric power, while the partition (1,...,1) represents the dth exterior power. Using the notation from the output, mu/lambda must be a horizontal strip. Precisely, this means that lambda_i >= mu_(i+1) for all i. If this condition is not satisfied, the program throws an error because a nonzero equivariant map of the desired form will not exist.

i1 : pieri({3,1}, {1}, QQ[a,b,c]) -- removes the last box from row 1 of the partition {3,1} o1 = | 3a 0 b 0 c 0 0 0 0 0 0 0 0 0 0 | | 0 3a 0 b 0 c 0 0 0 0 0 0 0 0 0 | | 0 0 2a 0 0 0 2b 0 c 0 0 0 0 0 0 | | 0 0 0 2a 0 0 0 2b 0 c 0 0 0 0 0 | | 0 0 0 0 2a 0 0 0 b 0 2c 0 0 0 0 | | 0 0 0 0 0 2a 0 0 0 b 0 2c 0 0 0 | | 0 0 0 0 0 0 0 a -1/2a 0 0 0 3b c 0 | | 0 0 0 0 0 0 0 0 0 a -2a 0 0 2b 2c | 8 15 o1 : Matrix (QQ[a, b, c]) <--- (QQ[a, b, c]) |

i2 : res coker oo -- resolve this map 8 15 10 3 o2 = (QQ[a, b, c]) <-- (QQ[a, b, c]) <-- (QQ[a, b, c]) <-- (QQ[a, b, c]) <-- 0 0 1 2 3 4 o2 : ChainComplex |

i3 : betti oo -- check that the resolution is pure 0 1 2 3 o3 = total: 8 15 10 3 0: 8 15 . . 1: . . 10 . 2: . . . 3 o3 : BettiTally |

- pureFree -- computes a GL(V)-equivariant map whose resolution is pure, or the reduction mod p of such a map

- pieri(List,List,PolynomialRing)