It can easily be shown that if a complex polynomial $P$ leaves invariant $\mathbb{Z}$ ($P(\mathbb{Z}) \subseteq \mathbb{Z}$) then it must be a linear combination (with integer coefficients) of Hilbert polynomials $H_k$, i.e. polynomials of the form : $$ H_k(X) : = \frac{X(X-1)\cdots (X-k+1)}{k!} $$
Now, what happens when $P$ stabilizes an entire lattice, say the Gaussian integers $\mathbb{Z}[i] $, i.e $P(\mathbb{Z}[i] ) \subseteq \mathbb{Z}[i] $ ?
Pretty clearly, the set $\mathcal{A}$ of all such polynomials is an additive sub-group of $\mathbb{Q}[i][X]$ (and even a $\mathbb{Z}[i]$ module). Such polynomials can be expressed as linear combinations (with coefficients in $\mathbb{Z}[i]$) of the polynomials $H_k$ (same proof as in the case of $\mathbb{Z}$). It is also straightforward to see that $\mathbb{Z}[i] [X]$ is contained in $\mathcal{A}$. However equality does not arise, since the polynomial $ \widetilde{H}_2(X): = (1+i)\frac{X(X-1)}{2} = (1+i)H_2(X)$ does not lie in $\mathbb{Z}[i] [X]$ and yet verifies the property of leaving invariant the Gaussian integers.
Question : Can we give a precise description of such polynomials, say an explicit basis of $\mathcal{A}$ (seen as a module) ?