4. Decomposition of the Thrall modules

Our goal to compute the decomposition of the Thrall module \(W_{\lambda}(V)\) into irreducible \(\operatorname{GL}(V)\)-representations. We can do this without specifying \(\dim V\) by computing in the ring of symmetric functions:

  • \(\texttt{s=SymmetricFunctions(QQ).schur()}\) defines the ring of symmetric functions, expressed in the Schur basis.

  • \(\texttt{s.gessel_reutenauer(P)}\) computes the character of the Thrall module associated to a partition \(\texttt{s.gessel_reutenauer(P)}\).

For example, the following code computes the decomposition of the Thrall module \(W_{(4,1)}(V)\). The summand \(\texttt{2*s[3, 1, 1]}\) indicates that the Schur module \(\mathbb{S}_{(3,1,1)}(V)\) occurs in this decomposition with multiplicity 2. In other words, the Thrall coefficient \(a^{(4,1)}_{(3,1,1)}\) is equal to \(2\).

[1]:
s=SymmetricFunctions(QQ).schur()
s.gessel_reutenauer([4,1])
[1]:
s[2, 1, 1, 1] + s[2, 2, 1] + 2*s[3, 1, 1] + s[3, 2] + s[4, 1]

In section 6 we will use the following function. It computes just a single Thrall coefficient \(a^{\lambda}_{\mu}\):

[2]:
def thrall_coefficient(la,mu):
    return s.gessel_reutenauer(la).coefficient(mu)
[3]:
thrall_coefficient([4,1],[3,1,1])
[3]:
2

For a given \(k\), the following code decomposes \(W_{\lambda}(V)\), for all \(\lambda \vdash k\). For \(k=3\), we read off that \(W_{(3)}(V) \cong \mathbb{S}^{(2,1)}(V)\), \(W_{(2,1)}(V) \cong \mathbb{S}^{(1,1,1)}(V) \oplus \mathbb{S}^{(2,1)}(V)\), and \(W_{(1,1,1)}(V) \cong \mathbb{S}^{(3)}(V)\), consistent with example 4.6.

[4]:
k=3
s=SymmetricFunctions(QQ).schur()
for P in Partitions(k):
    print(P)
    print(s.gessel_reutenauer(P))
    print('----------------------')
[3]
s[2, 1]
----------------------
[2, 1]
s[1, 1, 1] + s[2, 1]
----------------------
[1, 1, 1]
s[3]
----------------------

A couple of words on how the algorithm works (see also here): writing \(\lambda=(k^{a_k},\ldots,1^{a_1})\), we have the formula

\[W_{\lambda}(V) \cong S^{a_1(\lambda)}(\operatorname{Lie}^1 V) \otimes S^{a_2(\lambda)}(\operatorname{Lie}^2 V) \otimes \cdots \otimes S^{a_{k}(\lambda)}(\operatorname{Lie}^k V).\]

Thus we can compute the character if we know how to compute

  1. the character of the free Lie algebra \(\operatorname{Lie}^m V\). There is an explicit formula for this, see [Reu93, Theorem 8.3]:

    \[\chi(\operatorname{Lie}^m(V)) = \frac{1}{m}\sum_{t \vert m}{\mu(t)p_t^{a/m}},\]

    where \(p_t\) is the power sum symmetric function.

  2. the character of a symmetric power \(S^a(V)\). This is given by the so-called plethysm \(h_a[\chi(V)]\), where \(h_a\) is the complete homogeneous symmetric function.

  3. the character of a tensor product. This is just the tensor product of the characters: \(\chi(V\otimes W) = \chi(V)\cdot\chi(W)\).

Bibliography

  • [Reu93] C. Reutenauer. Free Lie algebras, volume 7 of London Mathematical Society Monographs. New Series. The Clarendon Press, Oxford University Press, New York, 1993. Oxford Science Publications.