CharacterTable for symmetric groups $S_n$ with large $n$

I am looking for a package to generate character tables for symmetric groups $$S_n$$. At this moment I am using

FiniteGroupData[{"SymmetricGroup", n}, "CharacterTable"]


but it works only for $$n\leq 10$$. Does there exist a package which can be used to get similar results for larger values of $$n$$?

• For reference, GAP can do large groups, for example Display(CharacterTable(SymmetricGroup(30))); May 2, 2021 at 18:28
• How to export these GAP's results into a file which are be imported then in Mathematica? I tried to type in GAP: PrintTo("file1",Display(CharacterTable(SymmetricGroup(4)))); but it does not work. May 2, 2021 at 19:34
• Sorry, your guess is as good as mine. May 2, 2021 at 19:35
• Ok, I asked this question separetely here: stackoverflow.com/questions/67360500/… Nevertheless, I still would like to see if there a direct method to compute this in Mathematica, so I leave this question open. May 2, 2021 at 19:45

Expanding a comment: we can use GAP to compute large character tables and then import them to Mathematica.

A simple GAP function based on this solution:

storeSymmetricCharacterTable := function(n, filename)
local c, f;
c := CharacterTable("Symmetric", n);
f := OutputTextFile(filename, false);
SetPrintFormattingStatus(f, false);
PrintTo(f, "SymmetricCharacterTable[", n, "] =\n");
PrintTo(f, "  {\"CharacterParameters\"->");
PrintTo(f, "{", JoinStringsWithSeparator(List(CharacterParameters(c), x->Concatenation("{",JoinStringsWithSeparator(x[2]),"}"))), "},\n");
PrintTo(f, "   \"CharacterTable\"->");
PrintTo(f, "{", JoinStringsWithSeparator(List(Irr(c), x->Concatenation("{",JoinStringsWithSeparator(x),"}"))), "}}\n");
CloseStream(f);
end;;


Store this function in a file ssct.gap, then start GAP and run

Read("ssct.gap");
storeSymmetricCharacterTable(3, "symm_3.txt");


which now contains Mathematica-format data:

SymmetricCharacterTable[3] =
{"CharacterParameters"->{{1,1,1},{2,1},{3}},
"CharacterTable"->{{1,-1,1},{2,0,-1},{1,1,1}}}


Compare to Mathematica code:

FiniteGroupData[{"SymmetricGroup", 3}, "ConjugacyClassNames"]
(*    {"{1,1,1}", "{2,1}", "{3}"}    *)

FiniteGroupData[{"SymmetricGroup", 3}, "CharacterTable"]
(*    {{1, 1, 1}, {2, 0, -1}, {1, -1, 1}}    *)


Notice that the signs in the character tables differ between Mathematica and GAP.

• Thanks! I was trying to find the source of the difference in signs and couldn't find a good reference for that. Any idea where I can find some information about this? Actually, the ones from Mathematica agree with Jackson's tables published in 1988. May 4, 2021 at 0:51
• Maybe a phase convention? You'd have to ask a real mathematician about the signs. Maybe ask on the math stackexchange? May 4, 2021 at 7:18