UHF seems to be working for equal number of spin up and down. Not yet benchmarked. Adding perturbative terms.