Nilpotentizing Groups
28 Oct 2020
I really like group theory, and I’ve spent a lot of time reading about groups
and their properties. Most of these properties seem like very natural things
to consider (
I figured out how the nilpotency assumption is helpful in computations last night, though I got on the topic in a rather roundabout way. I forget exactly how my brain moved between these ideas, but the basic outline was this:
- The nilpotent groups of class
(really class ) form a variety by the HSP theorem - But this means there are some bonus axioms that we can add to the standard
group axioms in order to carve out the class
nilpotent groups. (In fact, since the nilpotent groups are exactly the abelian groups, we know the bonus axiom is in the case ) - So we should be able to “
-nilpotentize” a group in the same way we abelianize it by quotienting by the relations which force these new axioms to hold.
I spent some time thinking about what these new axioms might be, as well as
some categorical questions: Is the subcategory of class
- Can we actually
-nilpotentize a group in practice? What do we quotient by? - How exactly are nilpotent groups are easier to work with than general groups? What does this construction really buy us?
It was in the process of understanding the second bullet that I felt like I started understanding some practical benefits of nilpotency.
As a fun game, can you show that
Remember, to show that
Let’s start with the second bullet and talk about what nilpotency buys us.
We understand the class-
Recall the Lower Central Series of a group
Then
This wholly obvious fact says that we can commute any two elements provided
we pick up a factor of
Now, in an abelian group,
Concretely, this means we can always push commutators to one side!
So in a group of class
for some
Similarly for groups of class
In this instance, the “second order” fudge factor
It is clear that these get hairy fairly quickly, but it makes the entire
concept feel (at least to me) more concrete. It also makes clear how this
is a generalization of abelianness - when we commute things, the resulting
fudge factors are easy to control. Of course, the degree of “easiness”
decreases fairly quickly as the nilpotency class
So how might we find the nilpotentization of
We simply force
One thing I will touch on, though – Why can we quotient by
Here is (for me) the easiest way to see what I mean: Just like
But this is fantastic! We know that subgroups of this form are called verbal and they satisfy lots of very nice properties 3! In particular, all verbal subgroups are characteristic, thus normal.
As one last question, we might ask how easy it is to compute with these nilpotentizations. Luckily, there are some efficient implementations of these results. You can read more about these algorithms here, but the tldr is:
-
Magma has functions like
which computes the class nilpotentization of . (Documentation here) -
GAP has the
package, which also has a function. (Documentation here)
Since GAP ships built-in with Sage, we have access
to these algorithms in our favorite computational tool. Unfortunately,
the
With that subtle point out of the way, let’s see it in action. Since the sage cloud server I use doesn’t play nice with the GAP console, I can only include a screenshot. You should definitely experiment with this stuff yourself, though!
Notice we asked for the class
In the case of finite groups, we can write dumber code in pure sage:
xxxxxxxxxx
from itertools import combinations_with_replacement
def Nilpotentize(G,c):
"""
Return the nilpotent quotient of class c.
Only works for finite groups G!
"""
def iterated_commutator(gs):
"""
computes [g1, g2, ... gn] from a list gs
"""
comm = gs[0]
for g in gs[1:]:
comm = comm.inverse() * g.inverse() * comm * g
return comm
# Get the subgroup generated by the iterated commutators
toKill = G.subgroup([iterated_commutator(gs) for gs in combinations_with_replacement(G.list(),c+1)])
return G.quotient(toKill)
I only wrote this code today, so I haven’t had time to play around with it yet. Here are some fun questions I have for myself, which you might also want to think about!
- Where do the various
show up in the lattice of subgroups of ? - For finite groups, the decreasing chain
must eventually stabilize. Given a group , can we predict for which this will happen? - What can we say about a group
if we know the chain stabilizes quickly? Stabilizes slowly?
There’s lots of interesting questions one gets by playing around with these groups! Let me know in the comments if you think of any of your own ^_^
-
Free nilpotent groups seem to be well studied, and fairly complicated! This is one excellent example of abstract nonsense providing the existence of a free object whose combinatorial description is… unpleasant. You can read Terry Tao’s description of them here. ↩
-
Here we define
. This seems to be standard in the literature, and we can do it at the element level too: . Notice this is not associative! so we must remember to associate left! ↩ -
This is a kind of syntax-semantics relationship. One day I want to make a post talking about syntax and semantics, and in particular some real-world ways where this duality arises (even if somewhat informally). In the mean time, trust that this result is part of a larger pattern of spiritually related results. ↩