Diagonalization

TODO