# The permutation group corresponding to translations in three direction on a discrete lattice

What is the name of the permutation group corresponding to all the translation operations in the $3$ directions $x$, $y$ and $z$ (with periodic boundary conditions) of a general rectangular discrete lattice of size $m \times n \times k$, where $m$, $n$ and $k$ are the number of lattice sites in the each direction?

What algorithms/libraries are there to obtain the basis for irreducible representations of this group? What I have in mind as way to construct this basis is assigning a "bit" at each site that can take one of two values either $1$ or $0$.

Tarek

-

The irreducible representations of this group are well-known. The group is abelian, so its irreducible representations are one-dimensional. There is one irreducible representation for each wave vector $\vec k$ of the dual lattice, and the value of the representation with wave vector $\vec k$ for the translation by a vector $\vec r$ is given by $\mathrm e^{\mathrm i\vec k\vec r}$.

[Edit in response to the comment:]

I don't know of existing algorithms or libraries for this. There may well be some; your chances of someone providing one will be much greater if you edit what you wrote in the comment under this answer into your question; I don't see how anyone could guess from the current formulation of the question that you're interested in a basis for spin states.

The translations commute with the total spin operator, so you can diagonalize them simultaneously. This is already apparent in your one-dimensional example with three spins, where you have one $k=0$ state for each total spin from $0$ to $3$ (or $-3/2$ to $3/2$ if you assign the proper spin values to the bits).

Within a given eigenspace of the total spin operator, you can construct a basis by projecting all possible patterns with the given total spin onto all the Fourier eigenspaces. For instance, in two dimensions with two by four spins, the following five patterns with total spin $2$ are distinct under translations:

1100  1010  1000  1000  1000
0000  0000  1000  0100  0010


For each of these, you get $8$ basis functions by projecting them onto the Fourier eigenspaces, that is, by summing translated versions of them with the Fourier characters. Some of these projections will be zero if the pattern is a translated version of itself (in this case for the second, third and fifth pattern).

You can either make sure you generate only patterns that are distinct under translations, or you can generate all patterns with a given total spin and then compare the resulting functions and discard the multiples (and the zero functions).

-
Thanks a lot Joriki. I know how to get these one dimensional basis for the representations in case of 1D lattices for each k in terms of the "bits". But what about 2D and 3D? Is there a general algorithm? – Tarek Sep 19 '11 at 11:59
@Tarek: you just multiply the 1D guys together. joriki's answer already does this, using the dot product of k with r. – Jack Schmidt Sep 19 '11 at 15:25
@Tarek: I'm not sure I understand what you mean by "getting a basis". Are you using the term with its usual meaning with respect to a vector space? If so, for which vector space do you want to find a basis? Perhaps you're looking for a basis of the space of all functions on the lattice such that each basis vector spans an invariant subspace that transforms according to one of the irreducible representations? Such a basis is given by the plane waves $\mathrm e^{\mathrm i\vec k\vec x}$, which get multiplied by $\mathrm e^{\mathrm i\vec k\vec r}$ upon translation by $\vec r$. – joriki Sep 19 '11 at 15:56
@joriki: I am a physicist and my problem is a quantum spin 1/2 system on a lattice. Each spin can be either in up or down state or in bits: "1", "0". Thus my basis is the states of all spins. (<000>) means all 3 spins are in down state. In 1D chain with 3 spins, (a cyclic group of order 3) the basis states that correspond to k=0 comprise: (<000>), (<111>), (<100>+<010>+<001>), (<011>+<101>+<110>). I am looking for basis states in this manner in the general 3D case for all allowed values of k. Are there ready algorithms to obtain them directly, or should I search for them one by one? – Tarek Sep 20 '11 at 9:58