M
matrix diagonalization