Let $X_n$ be a set of $n\times n$ matrices with $[X_i, X_j] = X_i X_j - X_j X_i = 0$. A theorem by Schur shows they can be brought together to the form:
$$ X_i = \alpha \left[ \begin{matrix} I_{n/2} && M_i \\ 0 && I_{n/2} \end{matrix} \right]$$
With $M_i$ being an $\frac{n}{2} \times \frac{n}{2}$ matrix. How can one find the diagonalizing basis? How computationally hard is this calculation to perform?