InstallMethod( ClassPositionsOfCentre, "for a homogeneous list", [ IsHomogeneousList ], function( chi ) local deg, mdeg, degsquare; deg:= chi[1]; mdeg:= - deg; degsquare:= deg^2; return Filtered( [ 1 .. Length( chi ) ], i -> chi[i] = deg or chi[i] = mdeg or ( IsCyc( chi[i] ) and IsCycInt( chi[i] ) and chi[i] * GaloisCyc( chi[i], -1 ) = degsquare ) ); end ); list_max:=function(L) local i, K, S; K:=0; for i in [1..Length(L)] do if KK then Add(H, L[i]); fi; fi; od; return H; end; list_ordering:=function(L) local K, N,i; K:=[]; N:=L; for i in [1..Length(L)] do Add(K, list_max(N)[1]); N:=list_remoting(N,list_max(N)[2]); od; return K; end; Element_howmany_noncent_ConjugacyClasses:=function(G,K) local L, i, j; L:=list_ordering(SizesConjugacyClasses(CharacterTable(G))); j:=0; if K>0 then for i in [1..Length(L)] do j:=j+L[i]; if j>=K then return i; fi; od; else return 0; fi; end; centreofcharacter:=function(f, G) local i,s; s:=0; for i in [1..NrConjugacyClasses(G)] do if f[1]=AbsoluteValue(f[i]) then s:=s+Size(ConjugacyClasses(G)[i]); fi; od; return s; end; Ga_not1:=function(n) local G,C,i,j,s,f; for i in [1..n] do G:=SymmetricGroup(i); C:=CharacterTable("symmetric", i); for j in [1..NrConjugacyClasses(G)] do f:=Irr(C)[j]; s:=Element_howmany_noncent_ConjugacyClasses(G,(DegreeOfCharacter(f)^2-1)*centreofcharacter(f,G)); if s>1 then Print([i, s, CharacterParameters(C)[j]]); Print("\n "); fi; od; od; end;