gap-system / gap

Main development repository for GAP - Groups, Algorithms, Programming, a System for Computational Discrete Algebra
https://www.gap-system.org
GNU General Public License v2.0
775 stars 161 forks source link

Hook up `CharTableAlternating` for alternating group #5725

Open fingolfin opened 1 month ago

fingolfin commented 1 month ago

We have a generic function CharTableAlternating for computing character tables of alternating groups, but those are not actually character table objects.

To get an actual character table object, one can use ctbllib and write CharacterTable("Alternating", n).

But most users won't ever find that and will instead just type CharacterTable(AlternatinGroup(n)) or Irr(AlternatinGroup(n)). Which works fine for $n\leq 12$ or so but then working with that gets slow.

It would be fantastic if we could make those commands fast by suitably hooking them up with CharTableAlternating. I am guessing the main obstacle for that is to implement the identification of classes in the "virtual" character table with concrete permutations.

ThomasBreuer commented 3 weeks ago

@frankluebeck and I have discussed this yesterday, and it turned out that it is indeed possible to match class representatives of the natural alternating group with the class parameters of the corresponding generic character table. The reason is that there are enough symmetries of the character table such that one can choose representatives of pairs of classes that fuse in the symmetric group independently.