I am looking to classify (up to isomorphism) those finite groups G with exactly 2 conjugacy classes.

If G is abelian, then each element forms its own conjugacy class, so only the cyclic group of order 2 works here.

If G is not abelian, I am less sure what is going on. The center Z(G) is trivial since each of it’s elements also form their own conjugacy class. Now assume G−{1G} is the other conjugacy class.

The Class Equation says |G|=|Z(G)|+∑[G:CG(x)] where the sum is taken over representatives from the conjugacy classes (not counting the singleton ones from the center). (Here CG(x)={g∈G | gx=xg} is the centralizer of x in G.)

For us this simplifies to |G|−1=[G:CG(x)] for any x∈G−{1G}. Therefore |CG(x)|=|G||G|−1 is an integer. But this can only happen when |G|=2 which we have already covered. So does this mean up to isomorphism there is only one group with 2 conjugacy classes?

If so, how would the argument change if we allowed 3 conjugacy classes?

**Answer**

Nice question! The n=3 case is fun and I think small values of n are going to make very good exercises so I encourage you to work on them yourself, but if you really want to know a solution….

If H1,H2 denote the stabilizers of the non-identity conjugacy classes with |H1|≤|H2|, then the class equation reads |G|=1+|G||H1|+|G||H2|, or

1=1|G|+1|H1|+1|H2|.

The reason this is useful is that if either |G| or |H1| gets too big, then the terms on the RHS become too small to sum to 1. Since we know that |G|≥3, it follows that we must have |H1|≤3; otherwise, 1|H1|+1|H2|≤12 and the terms can’t sum to 1.

Now, if |H1|=2 then |H2|≥3, hence |G|≤6. Since every group of order 4 is abelian we can only have |G|=6,|H2|=3. The unique nonabelian group of order 6 is S3, which indeed has 3 conjugacy classes as desired.

If |H1|=3, then |G|≥3 implies |H2|≤3, hence |H2|=|G|=3 and G=C3.

**Attribution***Source : Link , Question Author : RHP , Answer Author : Qiaochu Yuan*