4
$\begingroup$

This is related to my previous question here.

Let me remind you what that question asked:


Let $\text{St}_n(\mathbb{F}_q)$ be the Steinberg module (over $\mathbb{C}$) for $\text{SL}_n(\mathbb{F}_q)$.

What is the irreducible decomposition of the restriction of $\text{St}_{2n}(\mathbb{F}_q)$ to the symplectic group $\text{Sp}_{2n}(\mathbb{F}_q)$?


I got no answer, so I assume that this is an open question. This brings me to my new question. Let's say I wanted to calculate this for some small examples, say, $n=2$ and $q \in \{2,3,5\}$. Can this be done on a computer? I've tried to figure out how to do it with Magma and GAP, but this does not seem easy to me (this might just be my ignorance). Thanks!

$\endgroup$
4
  • $\begingroup$ I know nothing about the Steinberg representation, but this should not be difficult if you could easily compute the character values of ${\rm St}$. Can you do that? (I know they are determined up to sign by the corresponding centralizers, but you would need to know the sign.) $\endgroup$
    – Derek Holt
    Commented Nov 19, 2014 at 5:31
  • $\begingroup$ @Derek: The values of any Steinberg character are fairly easy integers to compute (if you know something about the centralizers of semisimple elements). In particular, St vanishes at elements which are not $p$-regular. Though the signs were at first unknown, Bhama Srinivasan later determined them. So this much data is readily available (see Carter's 1985 book). Also, in her thesis Bhama worked out (on Green's model) most character tables of finite symplectic groups in rank 2; but for higher ranks the more intricate methods of Lusztig are needed. $\endgroup$ Commented Nov 19, 2014 at 14:39
  • $\begingroup$ @Melanie: For $n=2$ and small values of $q$, direct computation is certainly possible but already leads to a lot of decomposition as John indicates. Keep in mind my comment on your earlier question: for $n=2$ the character St has degree $q^6$ while irreducible characters of Sp$_4(q)$ mostly have degrees close to $q^4$ (for large $q$, with more degeneracy for small $q$). Patterns for all $q$ might be interesting, but are probably hard to detect when $q$ is very small. $\endgroup$ Commented Nov 19, 2014 at 18:41
  • $\begingroup$ @Yes of course! And for examples as small as suggested, you can just compute the whole character tables of SL and Sp and do the reduction and decomposition directly as illustrated in John Wiltshire-Gordon's GAP code. $\endgroup$
    – Derek Holt
    Commented Nov 19, 2014 at 23:54

1 Answer 1

7
$\begingroup$

Here's one way to perform this computation in GAP, although I'm sure there are smarter ways.

p:=3;;
n:=2;;
G:=SL(2*n,p);;
H:=Sp(2*n,p);;
irrg:=Irr(G);;
irrh:=Irr(H);;
dims:=List(irrg,chi->chi[1]);;
steinberg:=irrg[Position(dims,p^Binomial(2*n,2))];;
restrictedSteinberg:=Restricted(steinberg,H);;
DecomposeCharacter:=char->List(Irr(UnderlyingCharacterTable(char)),x->ScalarProduct(x,char));;
DecomposeCharacter(restrictedSteinberg);

This code returns a list of multiplicities

[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 
     1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 2, 0, 0, 2, 0, 0, 2 ]

in order according to the character table

irrh;

which returns the characters

[Character(CharacterTable(Sp(4, 3)), [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), 
 Character(CharacterTable(Sp(4, 3)), [4, -4, 0, 2, -2, 0, 0, 0, 0, -E(3)-2*E(3)^2, E(3)+2*E(3)^2, 2*E(3)+E(3)^2, -2*E(3)-E(3)^2, 2*E(3)-E(3)^2, -2*E(3)+E(3)^2, -E(3)+2*E(3)^2, E(3)-2*E(3)^2, E(3)-E(3)^2, -E(3)+E(3)^2, -1, 1, -E(3), E(3), E(3)^2, -E(3)^2, 2, -2, 0, E(3)^2, -E(3)^2, E(3), -E(3), -1, 1]), 
 Character(CharacterTable(Sp(4, 3)), [4, -4, 0, 2, -2, 0, 0, 0, 0, -2*E(3)-E(3)^2, 2*E(3)+E(3)^2, E(3)+2*E(3)^2, -E(3)-2*E(3)^2, -E(3)+2*E(3)^2, E(3)-2*E(3)^2, 2*E(3)-E(3)^2, -2*E(3)+E(3)^2, -E(3)+E(3)^2, E(3)-E(3)^2, -1, 1, -E(3)^2, E(3)^2, E(3), -E(3), 2, -2, 0, E(3), -E(3), E(3)^2, -E(3)^2, -1, 1]), 
 Character(CharacterTable(Sp(4, 3)), [5, 5, 1, -1, -1, 1, -E(3)+E(3)^2, E(3)-E(3)^2, -3, E(3)+2*E(3)^2, E(3)+2*E(3)^2, 2*E(3)+E(3)^2, 2*E(3)+E(3)^2, -2*E(3)+E(3)^2, -2*E(3)+E(3)^2, E(3)-2*E(3)^2, E(3)-2*E(3)^2, 0, 0, 2, 2, E(3), E(3), E(3)^2, E(3)^2, 1, 1, -1, -E(3)^2, -E(3)^2, -E(3), -E(3), 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [5, 5, 1, -1, -1, 1, E(3)-E(3)^2, -E(3)+E(3)^2, -3, 2*E(3)+E(3)^2, 2*E(3)+E(3)^2, E(3)+2*E(3)^2, E(3)+2*E(3)^2, E(3)-2*E(3)^2, E(3)-2*E(3)^2, -2*E(3)+E(3)^2, -2*E(3)+E(3)^2, 0, 0, 2, 2, E(3)^2, E(3)^2, E(3), E(3), 1, 1, -1, -E(3), -E(3), -E(3)^2, -E(3)^2, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [6, 6, -1, 3, 3, 2, 1, 1, -2, 1, 1, 1, 1, -3, -3, -3, -3, -2, -2, 0, 0, -1, -1, -1, -1, 2, 2, 0, 0, 0, 0, 0, 1, 1]), 
 Character(CharacterTable(Sp(4, 3)), [10, 10, 1, 1, 1, -2, -1, -1, 2, -2*E(3)+E(3)^2, -2*E(3)+E(3)^2, E(3)-2*E(3)^2, E(3)-2*E(3)^2, 5*E(3)+2*E(3)^2, 5*E(3)+2*E(3)^2, 2*E(3)+5*E(3)^2, 2*E(3)+5*E(3)^2, -1, -1, 1, 1, -E(3)^2, -E(3)^2, -E(3), -E(3), 2, 2, 0, E(3)^2, E(3)^2, E(3), E(3), 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [10, 10, 1, 1, 1, -2, -1, -1, 2, E(3)-2*E(3)^2, E(3)-2*E(3)^2, -2*E(3)+E(3)^2, -2*E(3)+E(3)^2, 2*E(3)+5*E(3)^2, 2*E(3)+5*E(3)^2, 5*E(3)+2*E(3)^2, 5*E(3)+2*E(3)^2, -1, -1, 1, 1, -E(3), -E(3), -E(3)^2, -E(3)^2, 2, 2, 0, E(3), E(3), E(3)^2, E(3)^2, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [15, 15, -1, 3, 3, -1, -1, -1, -1, 2, 2, 2, 2, 6, 6, 6, 6, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, -1, 0, 0, 0, 0, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [15, 15, 0, 0, 0, 3, -2, -2, 7, 1, 1, 1, 1, -3, -3, -3, -3, 1, 1, 3, 3, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [20, -20, 0, -2, 2, 0, 0, 0, 0, -3, 3, 3, -3, -7, 7, -7, 7, 0, 0, -2, 2, -1, 1, 1, -1, 2, -2, 0, -1, 1, -1, 1, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [20, 20, 1, 5, 5, 4, 1, 1, 4, -2, -2, -2, -2, 2, 2, 2, 2, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [20, -20, 0, -2, 2, 0, 0, 0, 0, 3*E(3)^2, -3*E(3)^2, -3*E(3), 3*E(3), -5*E(3)-8*E(3)^2, 5*E(3)+8*E(3)^2, -8*E(3)-5*E(3)^2, 8*E(3)+5*E(3)^2, 0, 0, -2, 2, -E(3)^2, E(3)^2, E(3), -E(3), 2, -2, 0, -E(3), E(3), -E(3)^2, E(3)^2, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [20, -20, 0, -2, 2, 0, 0, 0, 0, 3*E(3), -3*E(3), -3*E(3)^2, 3*E(3)^2, -8*E(3)-5*E(3)^2, 8*E(3)+5*E(3)^2, -5*E(3)-8*E(3)^2, 5*E(3)+8*E(3)^2, 0, 0, -2, 2, -E(3), E(3), E(3)^2, -E(3)^2, 2, -2, 0, -E(3)^2, E(3)^2, -E(3), E(3), 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [20, -20, 0, 4, -4, 0, 0, 0, 0, -E(3)+E(3)^2, E(3)-E(3)^2, -E(3)+E(3)^2, E(3)-E(3)^2, E(3)-5*E(3)^2, -E(3)+5*E(3)^2, -5*E(3)+E(3)^2, 5*E(3)-E(3)^2, E(3)-E(3)^2, -E(3)+E(3)^2, 1, -1, -1, 1, 1, -1, 2, -2, 0, -E(3)^2, E(3)^2, -E(3), E(3), 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [20, -20, 0, 4, -4, 0, 0, 0, 0, E(3)-E(3)^2, -E(3)+E(3)^2, E(3)-E(3)^2, -E(3)+E(3)^2, -5*E(3)+E(3)^2, 5*E(3)-E(3)^2, E(3)-5*E(3)^2, -E(3)+5*E(3)^2, -E(3)+E(3)^2, E(3)-E(3)^2, 1, -1, -1, 1, 1, -1, 2, -2, 0, -E(3), E(3), -E(3)^2, E(3)^2, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [24, 24, 0, 0, 0, 0, 2, 2, 8, 2, 2, 2, 2, 6, 6, 6, 6, -1, -1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1]), 
 Character(CharacterTable(Sp(4, 3)), [30, 30, -1, 3, 3, 2, -1, -1, -10, -1, -1, -1, -1, 3, 3, 3, 3, -1, -1, 3, 3, 1, 1, 1, 1, -2, -2, 0, 0, 0, 0, 0, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [30, 30, -1, -3, -3, 2, E(3)-E(3)^2, -E(3)+E(3)^2, 6, 2*E(3)+E(3)^2, 2*E(3)+E(3)^2, E(3)+2*E(3)^2, E(3)+2*E(3)^2, -3*E(3)+6*E(3)^2, -3*E(3)+6*E(3)^2, 6*E(3)-3*E(3)^2, 6*E(3)-3*E(3)^2, 0, 0, 0, 0, -E(3)^2, -E(3)^2, -E(3), -E(3), 2, 2, 0, 0, 0, 0, 0, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [30, 30, -1, -3, -3, 2, -E(3)+E(3)^2, E(3)-E(3)^2, 6, E(3)+2*E(3)^2, E(3)+2*E(3)^2, 2*E(3)+E(3)^2, 2*E(3)+E(3)^2, 6*E(3)-3*E(3)^2, 6*E(3)-3*E(3)^2, -3*E(3)+6*E(3)^2, -3*E(3)+6*E(3)^2, 0, 0, 0, 0, -E(3), -E(3), -E(3)^2, -E(3)^2, 2, 2, 0, 0, 0, 0, 0, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [36, -36, 0, 0, 0, 0, 0, 0, 0, -3*E(3)^2, 3*E(3)^2, 3*E(3), -3*E(3), 9*E(3), -9*E(3), 9*E(3)^2, -9*E(3)^2, 0, 0, 0, 0, -E(3)^2, E(3)^2, E(3), -E(3), 2, -2, 0, 0, 0, 0, 0, 1, -1]), 
 Character(CharacterTable(Sp(4, 3)), [36, -36, 0, 0, 0, 0, 0, 0, 0, -3*E(3), 3*E(3), 3*E(3)^2, -3*E(3)^2, 9*E(3)^2, -9*E(3)^2, 9*E(3), -9*E(3), 0, 0, 0, 0, -E(3), E(3), E(3)^2, -E(3)^2, 2, -2, 0, 0, 0, 0, 0, 1, -1]), 
 Character(CharacterTable(Sp(4, 3)), [40, 40, 0, -2, -2, 0, -2*E(3), -2*E(3)^2, -8, -2*E(3)^2, -2*E(3)^2, -2*E(3), -2*E(3), 2*E(3)+8*E(3)^2, 2*E(3)+8*E(3)^2, 8*E(3)+2*E(3)^2, 8*E(3)+2*E(3)^2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, E(3)^2, E(3)^2, E(3), E(3), 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [40, 40, 0, -2, -2, 0, -2*E(3)^2, -2*E(3), -8, -2*E(3), -2*E(3), -2*E(3)^2, -2*E(3)^2, 8*E(3)+2*E(3)^2, 8*E(3)+2*E(3)^2, 2*E(3)+8*E(3)^2, 2*E(3)+8*E(3)^2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, E(3), E(3), E(3)^2, E(3)^2, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [45, 45, 0, 0, 0, -3, 0, 0, -3, 3*E(3)^2, 3*E(3)^2, 3*E(3), 3*E(3), -9*E(3), -9*E(3), -9*E(3)^2, -9*E(3)^2, 0, 0, 0, 0, E(3)^2, E(3)^2, E(3), E(3), 1, 1, 1, 0, 0, 0, 0, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [45, 45, 0, 0, 0, -3, 0, 0, -3, 3*E(3), 3*E(3), 3*E(3)^2, 3*E(3)^2, -9*E(3)^2, -9*E(3)^2, -9*E(3), -9*E(3), 0, 0, 0, 0, E(3), E(3), E(3)^2, E(3)^2, 1, 1, 1, 0, 0, 0, 0, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [60, -60, 0, 6, -6, 0, 0, 0, 0, -3, 3, 3, -3, -3, 3, -3, 3, 0, 0, 0, 0, 1, -1, -1, 1, -2, 2, 0, 0, 0, 0, 0, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [60, 60, 1, -3, -3, 4, -1, -1, -4, 2, 2, 2, 2, 6, 6, 6, 6, -1, -1, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [60, -60, 0, 0, 0, 0, 0, 0, 0, -E(3)-2*E(3)^2, E(3)+2*E(3)^2, 2*E(3)+E(3)^2, -2*E(3)-E(3)^2, -6*E(3)+3*E(3)^2, 6*E(3)-3*E(3)^2, 3*E(3)-6*E(3)^2, -3*E(3)+6*E(3)^2, E(3)-E(3)^2, -E(3)+E(3)^2, -3, 3, E(3), -E(3), -E(3)^2, E(3)^2, -2, 2, 0, 0, 0, 0, 0, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [60, -60, 0, 0, 0, 0, 0, 0, 0, -2*E(3)-E(3)^2, 2*E(3)+E(3)^2, E(3)+2*E(3)^2, -E(3)-2*E(3)^2, 3*E(3)-6*E(3)^2, -3*E(3)+6*E(3)^2, -6*E(3)+3*E(3)^2, 6*E(3)-3*E(3)^2, -E(3)+E(3)^2, E(3)-E(3)^2, -3, 3, E(3)^2, -E(3)^2, -E(3), E(3), -2, 2, 0, 0, 0, 0, 0, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [64, 64, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, -8, -8, -8, -8, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, -1, -1]), 
 Character(CharacterTable(Sp(4, 3)), [64, -64, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, -8, 8, -8, 8, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, -1, -1, 1]), 
 Character(CharacterTable(Sp(4, 3)), [80, -80, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 8, -8, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, -1, 1, -1, 1, 0, 0]), 
 Character(CharacterTable(Sp(4, 3)), [81, 81, 0, 0, 0, -3, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -3, -1, 0, 0, 0, 0, 1, 1])]

(Note that GAP uses the symbol

E(3)

for a primitive third root of unity.)

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .