I am mainly looking for references on this subject, as I was unable to find any, at least any that answers what I am looking for to a satisfactory degree.

As it is well-known and extremely easy to show if $T\in T^2(V)$ is a tensor of degree 2 over a vector space $V$ (we may assume $V$ to be finite dimensional and over a characteristic 0 field), it may be uniquely split as $T=S+A$, where $S$ is symmetric and $A$ is alternating.

If instead $T\in T^k(V)$ is a tensor of degree $k$, the corresponding decomposition is $$ T^k(V)=\bigoplus_\lambda S_\lambda(V)^{\oplus n_\lambda}, $$ where the $S_\lambda$ is the Schur functor corresponding to the Young tableau $\lambda$ and $n_\lambda$ is a multiplicity. I deliberately left this formula somewhat incomplete because I don't remember the details. I know most of this from Fulton/Harris and I have always found that book to be quite confusing tbh, but it does have the details.

The problem with this formula is that 1) the spaces $S_\lambda(V)$ are unique up to isomorphism, but their particular realizations as subspaces of $T^k(V)$ depends on the particular conventions one have for Young tableaux, 2) there are multiplicities. Hence this direct sum decomposition is an outer, rather than inner direct sum.

I would like an inner direct sum decomposition which allows one to write explicitly given a tensor $T$ that $$ T=\sum_{i\in I}T^{(i)}, $$ where each term in this sum is a unique and $\mathrm{GL}(V)$-invariant irreducible term.

From the non-uniqueness of the Schur functors(' images) as well as the existence of multiplicities, I assume such a decomposition is not unique. But I also assume that if one chooses a particular numbering scheme or conventions for the Young tableaux then it is possible to get an irreducible decomposition which is unique with respect to that scheme, including the ways the various multiplicities appear as isomorphic but nontheless different subspaces of $T^k(V)$.

I find it hard to imagine that there are no explicitly specifiable such schemes with explicit projectors, seeing that in problems involving tensors in algebra and physics, such decompositions can be rather important. Yet I was unable to find any references that considers this "embedding problem". Pretty much all references I have found are interested in this decomposition for the purposes of representation theory, where the outer direct sum is sufficient.

So, I am asking for references, any kind of paper or textbook that treats the problem of decomposing a tensor into $\mathrm{GL}(V)$-irreducible terms as an inner direct sum with hopefully rather explicit descriptions of the resulting terms.

Edit: Upon further reflection, my question can be narrowed down and simplified as follows.

I am not sure if my terminology is standard so let's say that a Young diagram $\lambda=(\lambda_1,\dots,\lambda_q)$ with $k$ boxes is canonical if it is numbered consecutively as eg.$$ \begin{matrix}\boxed{1} & \boxed{2} & \boxed{3} \\ \boxed{4} & \boxed{5} \\ \boxed{6} & \boxed{7} \\ \boxed{8}\end{matrix}. $$ A Young tableau is standard if all rows and columns are strictly increasing.

Then - as I looked up - in the decomposition $$ T^k(V)=\bigoplus_\lambda S_\lambda(V)^{\oplus n_\lambda} $$ the sum is over all shapes which can be identified with canonical tableaux and each multiplicity $n_\lambda$ is the number of standard tableaux with shape $\lambda$.

So we can define the projectors $\pi_\lambda:T^k(V)\rightarrow T^k(V)$, where $\lambda$ is any standard tableau with $k$ boxes, and $\pi_\lambda$ acts by first symmetrizing over all rows of the tableau and then alternating over all columns, with an appropriate normalizing factor so that $\pi_\lambda$ is an idempotent.

So what is obvious is that $$ \pi_\lambda(T^k(V))\cong S_{\text{shape of }\lambda}(V). $$

I suspect/hope that it is true that $\pi_{\lambda}\pi_{\lambda^\prime}=0$ when $\lambda\neq\lambda^\prime$ (here each $\lambda$ is a numbered standard tableau, not just a shape!) and $\sum_{\lambda}\pi_\lambda=\mathrm{id}_{T^k(V)}$, which would realize the required inner direct sum decomposition.

But I don't know - and this is what I am unable to find - how the $\pi_\lambda$ and the $\pi_{\lambda^\prime}$ are related when $\lambda$ and $\lambda^\prime$ are different standard tableaux with the same shape.

Is it true that the corresponding subspaces are independent in $T^k(V)$?

Do we actually have the decomposition $\mathrm{id}_{T^k(V)}=\sum_{\lambda\in\text{standard tableaux with k boxes}}\pi_{\lambda}$?

If so, is each term here unique, assuming we fixed a convention for the Young symmetrizers (eg. first symmetrize then alternate)?

  • $\begingroup$ Are you interested in an explicit computational method, or do you need everything written with a simple formula a priori? $\endgroup$ Jun 24 at 22:16
  • 1
    $\begingroup$ @JohnWiltshire-Gordon I am not quite sure what do you mean exactly or what the difference is. What I am looking for is something like (I am prob gonna write nonsense but just the general style): a tensor of degree 4 can be decomposed as $T_{ijkl}=T_{[ijkl]}+3T_{(ij)[kl]}+3T_{[ij](kl)}+...$. It does not need to be this explicit and does not need to use index notation, but the idea is that if any given tensor has a known explicit description in a basis, I should be able to explicitly compute all terms in the decomposition in an algorithmic fashion at least in principle. $\endgroup$ Jun 24 at 22:20

2 Answers 2


This is in fact rather complicated stuff, and not that well known, even though it was discovered by Alfred Young in his sixth paper on quantitative substitutional analysis from 1932.

I also thought the identity $\pi_{\lambda}\pi_{\lambda'}=0$ for $\lambda\neq\lambda'$ was true, from reading the article "Diagrammatic Young Projection Operators for $U(n)$" by Elvang et al. (see top of page 5). However, this is false. See this previous MO question:

A basic question about Young symmetrizers

The construction of orthogonal idempotents is a bit complicated and called Young's seminormal representation.

A good and short presentation for a physics audience is the article "Hermitian Young Operators" by Keppeler and Sjödahl. A longer pedagogical introduction in the same spirit is the online textbook "The Special Unitary Group, Birdtracks, and Applications in QCD" by Alcock-Zeilinger.

For a math audience, the best introduction I know are two sets of lectures notes by Adriano Garsia. They have now appeared as the first two chapters of the book "Lectures in Algebraic Combinatorics".

Finally, note that this question is related to what I called CG2 or the explicit Clebsch-Gordan problem in this other MO post

Clebsch–Gordan decomposition formula for algebraic groups

Much of it, as far as I know is still open.

  • $\begingroup$ Thank you, the references you gave are a definite goldmine though it will take me some time to go through them all. At least I now know I am not crazy for thinking this problem is both rather nontrivial AND relatively poorly/confusingly covered in the literature :) . $\endgroup$ Jun 25 at 19:46
  • $\begingroup$ @BenceRacskó No pbm. The real goldmine is Young's series of 9 articles on quantitative substitutional analysis, but I don't know many who went and dug through it like Adriano Garsia did. Since you seem to come from physics and already know some representation theory, I think the most efficient route for you is to jump straight into the KS article (if you have access, the published version is in JMP). You can use the lectures by Judith AZ as a backup if e.g. you are not familiar with Cvitanovic's birdtracks. This should probably be enough to find the answers you need. $\endgroup$ Jun 26 at 9:45
  • $\begingroup$ If you want to go further, then the lectures by Garsia are really worth a read. In my linked MO answer on the Clebsch-Gordan problem, there is a url for a preprint version of one of these two lectures by Garsia. $\endgroup$ Jun 26 at 9:47
  • $\begingroup$ Does mathoverflow.net/questions/369797/… really show $\pi_\lambda \pi_{\lambda'}$ can be nonzero? As I read it, it only discusses two different standard tableaux of the same shape. $\endgroup$ Nov 12 at 2:21
  • $\begingroup$ I would also add D. E. Rutherford's Substitutional Analysis, 1948(!) to your list of references. It constructs the seminormal basis of $\mathbb Q\left[S_n\right]$ in an elementary and readable recursive way. No other texts I know are doing it this well (e.g., Garsia complicates things and makes some mistakes along the way). $\endgroup$ Nov 12 at 2:24

By Schur-Weyl duality, this amounts to a question about the group algebra of the symmetric group.

Imagine we have a formula for $1 \in \mathbb{Q}S_k$

$$ 1 = \pi_1 + \pi_2 + \cdots + \pi_d $$

where each $\pi_i \in \mathbb{Q}S_k$ is idempotent, and for $i \neq j$ we have $\pi_i \cdot \pi_j = 0 = \pi_j \cdot \pi_i$. Then, for every right $S_k$-module $V$ and vector $v \in V$, we have a canonical decomposition $$ v = v \cdot \pi_1 + v \cdot \pi_2 + \cdots + v \cdot \pi_d $$ giving $V$ as an (internal) direct sum $$ V = \sum_{i=1}^d V \cdot \pi_i. $$

By semisimplicity, the group algebra is isomorphic to a product of matrix algebras, one for each irreducible representation. The map sends a permutation to the square matrices that give its action in each irrep. In the product-of-matrix-algebras basis, the best idempotents are clear: place a single one somewhere on the diagonal. Then, we get our $\pi_i$'s by applying the inverse of the isomorphism. Here is one way to do it in sage:

def matrix_coefficients_basis(k):
    entries = [
            for partition in Partitions(k)
            for row in SymmetricGroupRepresentation(partition, 'specht').representation_matrix(permutation).rows()
            for e in row
        for permutation in Permutations(k)
    return matrix(entries)

def coordinate_lookup(k):
    coordinates = [
        (partition, i, j)
        for partition in Partitions(k)
        for i in range(partition.dimension())
        for j in range(partition.dimension())
    return {triple: position for position, triple in enumerate(coordinates)}

def internal_decomposition(partition):
    p = Partition(partition)
    k = sum(partition)
    group_algebra = SymmetricGroupAlgebra(QQ, k)
    permutations = [group_algebra(permutation) for permutation in Permutations(k)]
    lookup = coordinate_lookup(k)
    interesting_rows = [lookup[p, i, i] for i in range(p.dimension())]
    decomposition = matrix_coefficients_basis(k).inverse()
    return [
        sum(coefficient * permutation for coefficient, permutation in zip(decomposition.row(i), permutations))
        for i in interesting_rows

Here are some example formulas:

sage: internal_decomposition([2])                                                                                                                      
[1/2*[1, 2] + 1/2*[2, 1]]
sage: internal_decomposition([1,1])                                                                                                                    
[1/2*[1, 2] - 1/2*[2, 1]]
sage: internal_decomposition([3])                                                                                                                      
[1/6*[1, 2, 3] + 1/6*[1, 3, 2] + 1/6*[2, 1, 3] + 1/6*[2, 3, 1] + 1/6*[3, 1, 2] + 1/6*[3, 2, 1]]
sage: internal_decomposition([2,1])                                                                                                                    
[1/3*[1, 2, 3] + 1/3*[1, 3, 2] - 1/3*[3, 1, 2] - 1/3*[3, 2, 1],
 1/3*[1, 2, 3] - 1/3*[1, 3, 2] - 1/3*[2, 3, 1] + 1/3*[3, 2, 1]]
sage: internal_decomposition([1,1,1])                                                                                                                  
[1/6*[1, 2, 3] - 1/6*[1, 3, 2] - 1/6*[2, 1, 3] + 1/6*[2, 3, 1] + 1/6*[3, 1, 2] - 1/6*[3, 2, 1]]

Of course, these results depend entirely on the chosen bases for irreps, and the resulting formulas are not combinatorial or efficient to compute. Nevertheless, I hope they are of some value!

  • $\begingroup$ Thank you for your answer. I am not sure this is what I am looking for, at least I don't particularly understand how this relates to what I had in mind. I have updated my question which hopefully makes it clear what I am asking. Maybe this technically answers the question but so far I am unable to ascertain this by looking at the code. $\endgroup$ Jun 25 at 8:07
  • $\begingroup$ @BenceRacskó Would it help if I showed how to decompose an $n \times n \times n$ tensor into four summands that correspond to the four standard young tableaux with three boxes? Or do you already understand this and I'm missing something else about the question? $\endgroup$ Jun 25 at 14:37
  • $\begingroup$ I basically know how to compute a Young symmetrizer acting on a tensor, so what I am asking about is whether a formula $T=\sum_{\lambda}\pi_\lambda T$ exists with each term unique and irreducible and precisely which tableaux we are summing over in "$\sum_\lambda$". I thought/hoped that the sum is over all standard tableaux. But as @AbdelmalekAbdesselam pointed out in the other answer, it is possible for two different standard tableaux with the same shape to satisfy $\pi_\lambda\pi_{\lambda^\prime}\neq 0$ so the corresponding subspaces are not necessarily independent. $\endgroup$ Jun 25 at 19:45
  • $\begingroup$ @BenceRacskó I see the confusion--the code I gave does not return Young symmetrizers. It gives a different set of idempotents, still indexed by standard tableaux, but having the required orthogonality property. In other words, the sum you want does exist abstractly; it is easy to compute for small k; it isn't given by Young symmetrizers, although it is natural to fall into that trap (I did as a grad student, and it caused me several perplexing days); a general formula for all $k$ (not involving the inverse of a giant matrix) is probably not known. $\endgroup$ Jun 26 at 1:08
  • $\begingroup$ Ah yes this does explain my confusion, I implicitly assumed this is gonna involve Young symmetrizers. Ok then if you got the time/will I'll gladly see the explicit computation for a degree 3 tensor (though as far as I understand the symmetrizers are orthogonal in this case). Could you also give a formula for the idempotents in non-code notation as well? I don't mind it involving the inverse of a big matrix, just how to explicitly construct the big matrix that needs to be inverted. $\endgroup$ Jun 26 at 8:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.