1 Post Made Community Wiki
source | link

I'll make this a response since it seems to be a popular topic today (it showed up independently on the Wolfram Community forum).

One can usually do this by finding the eigenvectors for a random linear combination of the matrices. This works for nonderogatory matrices, that is, ones that do not have nontrivial blocks in their Jordan decomposition. In different terms, it works when all eigenvalues have algebraic multiplicity equal to geometric multiplicity.