I have a 1D periodic lattice with 'p' components (unit cells). I want to take a discrete Fourier transform in space to get a reciprocal space, where I will have $k$ (reciprocal vector) dependence. I generate the 1D periodic lattice with "p" components by this MWE: p = 10; a = Table[0, {i, 1, p}, {j, 1, p}]; For[i = 1, i <= p, i++, For[j = 1, j <= p, j++, a[[i, j]] = If[(Abs[i - j] == p - 1 \[Or] Abs[i - j] == 1) \[And] (j <= p \[And] i <= p), 1, 0]; ]; ]; AdjacencyGraph[a] Now, I would like to generate the reciprocal lattice from the above, where each point $a[i] = \sum_{k} e^{ik}\, a[k] $. reciplatA = Fourier[a, FourierParameters -> {0, 2 \[Pi]/p}]; But I don't think I want this form. It is supposed to be a diagonal matrix, which isn't the case. Thus, how can I have some Fourier variable conjugate to the space variables, i.e., $k$ appearing after the transform. How can we obtain such a form? Can we extend this to 2D, where we will have two Fourier variables $\{k_1, k_2\}$?