I am reading Miranda's book on algebraic curves and Riemann surfaces. In the section where the automorphisms of tori are discussed, it is shown that any of such a map $F: \mathbb{C}/\Lambda \rightarrow \mathbb{C}/\Lambda$ is induced by a linear complex map $G(z) = az + b$ satisfying $a\Lambda = \Lambda$.
So far it is clear for me the proof of this fact; however, then it is mentioned that $|a| = 1$ (also clear) and that $a$ is a root of unity. This final statement is unclear for me, why does $a$ have to be a root of unity?
Let me first review the proof that $|a|=1$.
Since $\Lambda$ is discrete, the set of distances $\{d(u,v) \mid u,v \in \Lambda\}$ is a discrete set of real numbers. The map $g(z) = az+b$ multiplies each distance by the same amount, equal to $|a|$, or more precisely $$d(g(u),g(v)) = |a| d(u,v), \quad u,v \in \Lambda $$ It follows that if $u,v \in \Lambda$ attain the minimum positive value of $d(u,v)$ then $$d(u,v) = d(g(u),g(v) = |a| \, d(u,v) $$ and therefore $|a|=1$.
Next, we may suppose that $b=0$ and that $G(z)=az$, because $G(0)= b$, and the function $z \mapsto z-b$ covers an automorphism of $\mathbb C / \Lambda$, and so we can replace the function $z \mapsto G(z)=az+b$ by the function $z \mapsto G(z)-b=(az+b)-b = az$ which also covers an automorphism of $\mathbb C / \Lambda$.
Let $\Delta$ denote the minimum positive value of $|z|$ for $z \in \Lambda$, and let $\Lambda_\Delta$ denote the finite set of all $z \in \Lambda$ such that $|z|=\Delta$. If $|z|=\Delta$ then $|G(z)|=|a| \, |z| = \Delta$, and so $G$ permutes the finite set $\Lambda_\Delta$. Since this is a finite set, some power $G^k$ restricts to the identity map on $\Lambda_\Delta$. So for any $z \in \Lambda_\Delta$ we have $$a^k z = G^k(z) = z $$ and hence $a^k=1$.