The computation below (part 1) shows that if two finite groups of order at most $100$ have the same (ordered) list of conjugacy class sizes, then they also have the same (ordered) list of (irreducible) character degrees.


**Question**: Is it true in general?  

If so, is there an explicit way to determine the character degrees from the conjugacy class sizes?


The converse is false, `SmallGroup(64,42)` and `SmallGroup(64,134))` are counterexamples. At order at most $100$, there are exactly four *types* of counter-examples, three ot order $64$, and one of order $96$, see the computation below (part 2).




---


**Computation**



```
gap> BL:=[]; for d in [1..100] do n:=NrSmallGroups(d);; for r in [1..n] do g:=SmallGroup(d,r);; if not IsAbelian(g) then SC:=CharacterDegrees(g);; CC:=ConjugacyClasses(g);; L:=List(CC,c->Size(c));; Sort(L); Add(BL,[SC,L]); fi; od; od;

```

*Part 1*



```
sage: LLL=[[] for i in range(100)]
....: for l in BL:
....:     LLL[len(l[1])].append(l)
....: for ll in LLL:
....:     S=[]
....:     for l1 in ll:
....:         if not l1[1] in S:
....:             S.append(l1[1])
....:             SS=[l1[0]]
....:             for l2 in ll:
....:                 if l1[1]==l2[1]:
....:                     if l2[0] not in SS:
....:                         SS.append(l2[0])
....:             if len(SS)>1:
....:                 print(l1[1]); print(SS)
sage:

```

*Part 2*



```
sage: LLL=[[] for i in range(100)]
....: for l in L:
....:     LLL[len(l[1])].append(l)
....: for ll in LLL:
....:     S=[]
....:     for l1 in ll:
....:         if not l1[0] in S:
....:             S.append(l1[0])
....:             SS=[l1[1]]
....:             for l2 in ll:
....:                 if l1[0]==l2[0]:
....:                     if l2[1] not in SS:
....:                         SS.append(l2[1])
....:             if len(SS)>1:
....:                 print(l1[0]); print(SS)
....:
[[1, 8], [2, 6], [4, 2]]
[[1, 1, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 8, 8, 8, 8], [1, 1, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8], [1, 1, 1, 1, 2, 2, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8]]
[[1, 8], [2, 10], [4, 3]]
[[1, 1, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 12, 12, 12, 12], [1, 1, 2, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 6, 6, 6, 8, 8, 12, 12]]
[[1, 16], [2, 4], [4, 2]]
[[1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4], [1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]]
[[1, 8], [2, 14]]
[[1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8, 8, 8, 8], [1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]]

gap> S:=List([42,134],n->SmallGroup(64,n));;
gap> for g in S do Print(CharacterDegrees(g)); od;
[ [ 1, 8 ], [ 2, 6 ], [ 4, 2 ] ]
[ [ 1, 8 ], [ 2, 6 ], [ 4, 2 ] ]
gap> for g in S do L:=List(ConjugacyClasses(g),c->Size(c));; Sort(L);; Print(L); od;
[ 1, 1, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 8, 8, 8, 8 ]
[ 1, 1, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8 ]

```


Are the character degrees determined by the conjugacy class sizes?
SmallGroup(128,227) and SmallGroup(128,731)) are counterexamples.



```
gap> S:=List([227,731],n->SmallGroup(128,n));;
gap> for g in S do L:=List(ConjugacyClasses(g),c->Size(c));; Sort(L);; Print(L); od;
[ 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8 ]
[ 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8 ]
gap> for g in S do Print(CharacterDegrees(g)); od;
[ [ 1, 16 ], [ 2, 12 ], [ 4, 4 ] ]
[ [ 1, 8 ], [ 2, 22 ], [ 4, 2 ] ]

```

