Local phase gauge in momentum space of Bloch state We know Bloch state has a phase undetermined, so $\Psi_k \to \Psi_k' = e^{i\theta(k)}\Psi_k$ is still the same eigenstate.
My question: Are there some restriction on $\theta(k)$ except to be a real function? Should $\theta(k+G) = \theta(k)$? where $G$ is reciprocal lattice vector.
My guess is it should. Otherwise $\Psi_{k+G}' \neq \Psi_k'$. But I saw on a famous paper which doesn't impose this restriction and still call it a gauge transform.
 A: For the question itself, since in the Brillouin zone $k$ and $k+G$ are simply the same point, $\theta(k)$ has to be the same as $\theta(k+G)$. However, in the paper arxiv.org/pdf/1105.4867v2.pdf, the reason why they performed a gauge transformation $c_k\rightarrow c_k e^{i(k_x-k_y)/2}$ is that the Hamiltonian $h(k)$ they took as the starting point (see the bottom of the left column on the same page) has all these $k_x/2, k_y/2$ in it, and I suppose they wanted to get rid of these multi-valued functions. Actually, it is not clear to me why they had to start from there (which was taken from arxiv.org/pdf/1012.5864.pdf). $h(k)$ defines a tight-binding model on a checkerboard lattice, or a square lattice with two orbitals per unit cell, and if one just directly Fourier transforms the real-space hopping terms, one should naturally end up with something like Eq. (1).
A: Naively, we would say: Since the Bloch waves are an energy eigenbasis, and the unitary operator $\psi_k \to \mathrm{e}^{\mathrm{i}\theta(k)}\psi_k$ defined on that basis is obviously diagonal, hence commutes with the Hamiltonian, and therefore is a symmetry, without any restriction on $\theta$.
Now, the "the Bloch waves" in the first sentence needs a qualification. The basis is not given $\mathcal{B} = \{\psi_k \vert k \in \mathbb{R}^3\}$, since $\psi_{k+G} = \psi_k$ trivially shows that these are not all independent. Hence, to get a basis, we need to divide out the relation $\psi_k \sim \psi_k' \Leftrightarrow k - k' = G$ for any reciprocal lattice vector $G$. Therefore, every function $\theta$ that produces a symmetry is not defined on the whole of $\mathbb{R}^3$, but only on these equivalence classes of vectors, which shows that you are correct: Indeed, $\theta$ must obey $\theta(k + G) = \theta(k)$ for any reciprocal lattice vector $G$.
