parallelising diagonalisation part