Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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$.


share|cite|improve this question

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).

share|cite|improve this answer
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

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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