Fast diagonalisation of nonlocal pseudopotential Hamiltonians | Synapse