Arrgh - completely fucked it. Impurity tiling not the same
as direct lattice vectors. Therefore cannot block diagonalise.
This only corresponds to 2D. Still...pretty fucking wasted two
days.