I am currently working on a small code to calculate field configurations for $\phi^4$. Going through the literature, I stumbled upon a method for navigating a $D$-dimensional lattice by assigning each lattice coordinate to a unique integer. Letting the coordinates be denoted by $\mathbf{x}=a(n_0,n_1,...,n_{D-1})$, where $a$ is the lattice spacing, $D$ is the number of dimensions, and $n_i\in\mathbb{N}$, the integer corresponding to each coordinate is $$j=\sum_{k=0}^{D-1}n_kL^k,$$ where $L$ is the number of points along each dimension (so the volume of the lattice is $L^D$). Is there a name for this method?

Source: Lellouch, Laurent, et al., eds. Modern Perspectives in Lattice QCD: Quantum Field Theory and High Performance Computing: Lecture Notes of the Les Houches Summer School: Volume 93, August 2009. OUP Oxford, 2011.

  • 3
    $\begingroup$ This is just the obvious ordering of points in a lattice right? $\endgroup$
    – jacob1729
    Nov 27 '19 at 22:47
  • 1
    $\begingroup$ It is just the trivial linearization of the lattice. It is like column major layout (or row major layout), just in four dimensions. $\endgroup$ Dec 19 '19 at 8:23

Interesting. I recall using such a one-dimensional array for storing field configurations when writing lattice gauge code for a Cyber 205 back in 1980's. There was a substantial overhead to setting up a higher dimensional array, and also for "do loops", hence the one dimnsional array. I had FORTRAN routines called MUPX, MDOWNX, MUPY etc. for finding the address of neighbouring sites. I did not have a name for it though. I'd have though the need for such tricks was long gone!

  • $\begingroup$ My code is extremely simple compared to what's considered state-of-the-art nowadays. Since I asked this back in November, I've tried out a couple of home-brewed variations of it. $\endgroup$
    – user107053
    May 28 '20 at 15:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.