Incomplete, need to experiment with different diagonalisation methods.
Translating Szabo and Ostlund HF code to Python