Description
Returns the $GL_n$-equivariant projection onto the LR-summand of $S_\nu V \otimes S_\mu V$ indexed by
Q (unique up to scalar by Schur's lemma). When the LR coefficient $c^\lambda_{\mu,\nu}$ exceeds 1, distinct LR tableaux
Q give different projections, each onto its own copy of $S_\lambda V$; $\mathrm{dualLR}_Q \circ \mathrm{lrMap}_{Q'} = 0$ when $Q \neq Q'$, and $\mathrm{dualLR}_Q \circ \mathrm{lrMap}_Q = \mathrm{Id}$.
Construction: stack the LR inclusions
lrMap for every $(\lambda', Q')$ with $c^{\lambda'}_{\mu,\nu} > 0$ into a square invertible matrix on $S_\nu V \otimes S_\mu V$ (square by the LR/Pieri rule) and read off the rows of its inverse corresponding to $(\lambda, Q)$.
i1 : shapes = ({2,1}, {1}, {1,1});
|
i2 : Q = (lrTableaux shapes)#0;
|
i3 : M = lrMap(shapes, Q, 3); -- inclusion S_(2,1) V -> S_(1,1) V ⊗ S_(1) V
9 8
o3 : Matrix QQ <-- QQ
|
i4 : N = dualLR(shapes, Q, 3); -- projection back onto Q's copy
8 9
o4 : Matrix QQ <-- QQ
|
i5 : N * M == id_(QQ^(numColumns M))
o5 = true
|
i6 : Qs = lrTableaux({3,2,1}, {2,1}, {2,1}); -- multiplicity-2 case
|
i7 : M0 = lrMap(({3,2,1},{2,1},{2,1}), Qs#0, 3);
64 8
o7 : Matrix QQ <-- QQ
|
i8 : M1 = lrMap(({3,2,1},{2,1},{2,1}), Qs#1, 3);
64 8
o8 : Matrix QQ <-- QQ
|
i9 : N0 = dualLR(({3,2,1},{2,1},{2,1}), Qs#0, 3);
8 64
o9 : Matrix QQ <-- QQ
|
i10 : N0 * M0 == id_(QQ^(numColumns M0)) -- recovers Q_0's copy
o10 = true
|
i11 : N0 * M1 == 0 -- annihilates Q_1's copy
o11 = true
|