Diagonalizer