diagonalization problem