/*
Conjugacy classes of GLn test
SH, Nov 06.
*/


SetVerbose("Classes",0);

for n in [1..4], q in [2,3,4,5,7,8,9] do
    printf "GL(%o,%o): Group size: %20o  ", n,q, #GL(n,q);
    time assert ClassesData(GL(n,q) : Al:="Extend")
             eq ClassesData(GL(n,q) : Al:="Classic");
end for;

// AKS, Feb 2013
G:=GL(2,5);
C := Classes(G)[1..2];
for t in C do assert Order(t[3]) eq t[1]; end for;

G := GL(2, 13);
B:=sub<G | G![[2,0],[0,1]], G![[1,0],[0,2]], G![[1,1],[0,1]]>;
c := PermutationCharacter(G,B);
assert SequenceToMultiset(Eltseq(c)) eq {* 0^^78, 1^^12, 2^^66, 14^^12 *};


