sing 2d using boost multiarray; optimised energy
calculations etc