Alternating slice-wise diagonalisation