Simultaneous diagonalization of Hamiltonian and momentum operator I'm looking at a translationally invariant problem with 3 atoms arranged in a circle each with one valence electron capable of tunelling to either of its two neighbors. With a tunelling rate of $-|A|/\hbar$, we have the Hamiltonian
$$H =
\begin{pmatrix}
E_a & - |A| & - |A|\\
- |A| & E_a & - |A|\\
- |A| & - |A| & E_a
\end{pmatrix}$$
which can be shifted by $+|A|$:
$$\begin{pmatrix}
E_a + |A| & 0 & 0\\
0 & E_a + |A| & 0\\
0 & 0 & E_a + |A|
\end{pmatrix}.$$
Because of translational symmetry, $p$ is a good quantum number and $[H,\hat{p}]=0$. This means that we can diagonalize $H$ as well as $\hat{p}$ simultaneously and construct momentum eigenstates out of the Hamiltonian eigenstates. How do I do this?
EDIT:
Okay so I've shifted the matrix as follows (simply $-E_a$ on the diagonal):
$$\begin{pmatrix}
0 & -|A| & -|A|\\
-|A| & 0 & -|A|\\
-|A| & -|A| & 0
\end{pmatrix}.$$
Eigenvalues are $-2|A|$ corresponding to the eigenstate (1,1,1), $|A|$ corresponding to (-1,0,1) and |A| corresponding to (-1,1,0). So $|A|$ is degenerate. Now I need to diagonalize $p$. I guess what my problem is, is that I'm not quite sure of the matrix representation of $p$ here. How do I then diagonalize it, if I can't find its matrix representation? I know each matrix element is $\langle \psi_i | p | \psi_j \rangle$, but I don't know what the wave functions look like. How do I proceed?
 A: First of all, your shifting is done wrong! 
It is true that you can shift the energy around, but that implies adding a multiple of the identity matrix. In other words, you can only add/subtract stuff from the diagonal of your Hamiltonian!
So, there is no way around diagonalizing the Hamiltonian as is. That will give you eigenvalues that may or may not be degenerate. If they turn out to be not degenerate (i.e. you have 3 distinct eigenvalues), then you're done: You know that $H$ and $p$ are simultaneously diagonalizable, but that there is only one way to diagonalize $H$, so that one way must already make $p$ diagonal as well.
If the eigenvalues turn out to be degenerate, you'd then have to find a linear combination of the eigenvectors that makes $p$ diagonal. I'd try something that looks like a plain wave.
UPDATE re your EDIT:
Well, yes, you do know what the wavefunctions look like: $(1,1,1)$, $(-1, 0, 1)$ and $(-1,1,0)$. Your model is discrete (also called a tight-binding model) and so the wavefunctions are just finite-sized vectors.
So, what you really are after are eigenstates with discrete cyclic symmetry, and you can construct them from "plain waves",
$\psi_n \sim e^{i k n}$ where $n = 1,2,3$ is the number of the atom. 
The allowed "momenta" are given by the condition that we want periodic boundary conditions, i.e., site "4" would be the same as site "1", so $3k = 2\pi N$ for some integer $N$. The three lowest (in absolute value) allowed $k$-values then are $0$ and  $\pm \frac{2}{3}\pi$.
The eigenstate with $k = 0$ would just have constant amplitude on each lattice site. This is just what you found for the energy eigenvalue $-2|A|$. 
For $k = 2/3 \pi$ and $k = -2/3 \pi$ you get two vectors each for which you'd then have to find the linear combination of eigenvectors for energy eigenvalue $|A|$, which I leave as an exercise :)
