Macaulay2 » Documentation
Packages » PieriMaps :: dualPieri
next | previous | forward | backward | up | index | toc

dualPieri -- GL-equivariant projection Sym^d V ⊗ S_lambda V --> S_mu V

Description

Returns the $GL_n$-equivariant projection $\mathrm{Sym}^d V \otimes S_\lambda V \to S_\mu V$ (unique up to scalar by Schur's lemma). By Pieri's rule, $\mathrm{Sym}^d V \otimes S_\lambda V$ decomposes as a direct sum of $S_{\mu'}$ over all $\mu' = \lambda + (\text{horizontal $d$-strip})$; this function returns the projection onto the summand selected by $\mu$.

The construction stacks the inclusion matrices pieri for every addable horizontal $d$-strip into a square invertible matrix, then reads off the rows of its inverse corresponding to $S_\mu$. This realizes $\mathrm{dualPieri} \circ \mathrm{pieri} = \mathrm{Id}$ on $S_\mu V$ exactly.

When Convention => "Filling", the source $S_\lambda$ factor and target $S_\mu$ are expressed in the SchurFunctors column-form basis; "Weyl" uses the divided-power Weyl-module basis (matrix data is identical to "Row").
i1 : P = QQ[a,b,c];
i2 : N = dualPieri({3,2,1}, {1}, P);

              8       9
o2 : Matrix QQ  <-- QQ
i3 : M = pieri({3,2,1}, {1}, P);

             3      8
o3 : Matrix P  <-- P
i4 : numRows N == numColumns M and numRows M == 3

o4 = true
i5 : P = QQ[a,b,c,d];  -- interior-row removal mu={3,2,1}, k=2, lambda={3,1,1}
i6 : N = dualPieri({3,2,1}, {2}, P);

              64       144
o6 : Matrix QQ   <-- QQ
i7 : numRows N, numColumns N

o7 = (64, 144)

o7 : Sequence

Performance. dualPieri caches the stacked block matrix used to invert the GL_n decomposition, keyed by $(\lambda, d, n, K, \mathrm{Convention})$. The first call at a given key builds every Pieri inclusion $S_{\mu'}\to S_\lambda \otimes \mathrm{Sym}^d V$ for $\mu'$ ranging over all addable horizontal $d$-strips and stacks them into one square matrix $A$; subsequent calls (for sister summands $\mu$ of the same ambient tensor product) reuse $A$ and only run a single back-solve, so they cost less than the corresponding pieri inclusion. The selected rows of $A^{-1}$ are computed via solve(transpose A, E) (E a small standard-basis block) rather than by forming the full inverse. boxes is normalized to canonical (sorted ascending) order; pass the same canonical order to pieri for the round-trip $\mathrm{dualPieri} \circ \mathrm{pieri} = \mathrm{Id}$.

See also

Ways to use dualPieri:

  • dualPieri(List,List,PolynomialRing)

For the programmer

The object dualPieri is a method function with options.


The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/PieriMaps/doc.m2:1016:0.