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
 A: 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.
Here's how I'd go about this, absent a more systematic approach:
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).
