Issue
A tensor format was adopted early on as initial structures were 2D and the thought was that operations might be non-local e.g. Einstein summation across nd-tensors
This is not the case in fact all operations are local and only depend on the neighbours and periodic boundaries so a 1D array suffices and operations need not be more complex across non local neighbours save the trivial boundary conditions
Resolution
remove the Lattice() structure
replace with functions on neighbours in a 1D array with periodic boundary
Issue A tensor format was adopted early on as initial structures were 2D and the thought was that operations might be non-local e.g. Einstein summation across nd-tensors
This is not the case in fact all operations are local and only depend on the neighbours and periodic boundaries so a 1D array suffices and operations need not be more complex across non local neighbours save the trivial boundary conditions
Resolution
Lattice()
structurePlaces with
Periodic_Lattice
referenceshmc.dynamics.Leap_Frog._moveX()
/_moveP()
hmc.potentials.Shared._*
//Klein_Gordon
/Quantum_Harmonic_Oscillator
hmc.lattice.Periodic_Lattice
hmc.hmc.Hybrid_Monte_Carlo.__init__
test.*
results.*