# Numerical method for simultaneous computation of eigenvalues of a family of commuting matrices

I have a problem where I have $$n$$ commuting matrices $$M_1,\dots,M_n$$. It is a well-known fact that commuting matrices are simultaneously diagonalizable/triangularizable. I need to find the eigenvalues of these matrices, but I need to know the eigenvalues grouped up by the common eigenspaces.

In exact arithmetic, this would be as easy as Schur-factorizing $$M_1 = UT_1U^*$$, and then computing $$T_i = U^*M_iU$$. However, in floating-point arithmetic, it is my understanding that U may be computed inaccurately when the eigenspaces are poorly conditioned (i.e. when the eigenvalues are clustered).

Is there a stable numerical method for performing this computation?

• Didn't realize that it was such an open problem. Thank you for the references. In the meantime, I'm going to rely on the fact that the matrices at hand are generally quite small, and hope that a heuristic sort based on comparing the eigenvalues of $M_i$ to the diagonal of $U_1 M_i U_1^*$ will suffice. – Hayden Ringer Jan 11 '20 at 23:40