Mathematica Asked on June 20, 2021
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 $nleq 10$. Does there exist a package which can be used to get similar results for larger values of $n$?
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.
Answered by Roman on June 20, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP