How to Find Maximal Abelian Subgroups? I am studying some groups (they are infinite, finitely represented, nilpotent) and am trying to find their maximal abelian subgroups. Is there any standard approach to do so? Can anyone recommend any reference on this topic? 
For example, for the Discrete Heisenberg Group $\langle x,y\;\mid\; [x,[x,y]]=[y,[x,y]]=1\rangle $, how to find its maximal abelian subgroups?
 A: The following algorithm determines the maximal abelian subgroups of a finitely generated nilpotent group $G$: 


*

*Compute the center $C$ of $G$ and set $A := C$. 

*Compute $C_G(A)$ 

*If $C_G(A)=A$ then $A$ is maximal abelian. Otherwise choose any $a \in C_G(A)\setminus A$ and set $A := \langle A,a\rangle$ and repeat steps 2, 3. 


Note: 


*

*Maximal abelian subgroups $A$ are characterized by $A$ being abelian and $C_G(A)=A$ 

*The algorithm terminates: For, it defines an ascending chain of abelian subgroups $$C = A_0 \subsetneqq A_1 \subsetneqq A_2 \subsetneqq \ldots \subsetneqq G$$ 
Since subgroups of f.g. nilpotent groups are f.g., the chain becomes stationary, say, at $A_n$, i.e. the algorithm stops after $n$ steps.

*Conversely, it's clear, that any maximal abelian subgroup can be constructed this way since it is f.g. 


Let's apply the algorithm to the discrete Heisenberg group $G$: Here $C=\langle c\rangle$ where $c=[x,y]$ and for all integers $(i,j)\neq (0,0)$ we have $C_G(\langle c,x^iy^j\rangle)=\langle c,x^{i/d}y^{j/d}\rangle$ where $d=gcd(i,j)$. In particular, the maximal abelian subgroups of $G$ are exactly the groups $\langle c,x^iy^j\rangle$ where $(i,j)\neq (0,0)$ are coprime. 
