Show that ${\rm Aut}(Z_2 \times Z_2) \cong S_3$ I would like to show that ${\rm Aut}(Z_2 \times Z_2) \cong GL_2(Z_2)$, after that I would show that order of $GL_2(Z_2)$ is $6$ (just by listing them) and $GL_2(Z_2)$ is non-abelian, because I know that all non-abelian groups of order $6$ are isomorphic to $S_3$.
I just don't know how to rigorously show that ${\rm Aut}(Z_2 \times Z_2) \cong GL_2(Z_2)$.
Could you please help me in any way? 
 A: For any $A\in GL_2(\Bbb Z_2)$ define $f_A:\Bbb Z_2\times \Bbb Z_2\to\Bbb Z_2\times \Bbb Z_2$ by $$f_A:\begin{bmatrix}x\\ y\end{bmatrix}\mapsto A\cdot\begin{bmatrix}x\\ y\end{bmatrix},\forall\begin{bmatrix}x\\ y\end{bmatrix}\in\Bbb Z_2\times \Bbb Z_2.$$ Clearly $f_A$ is an automorphism of $\Bbb Z_2\times \Bbb Z_2$ as $f_A^{-1}=f_{A^{-1}}$. 
Now consider the group homomorphism $$\phi:GL_2(\Bbb Z_2)\mapsto \text{Aut}(\Bbb Z_2\times \Bbb Z_2)\text{ by }\phi(A)=f_A. $$ $\phi$ is injective is clear as $\phi(A)\cdot\begin{bmatrix}1\\ 0\end{bmatrix}$ is the first column and $\phi(A)\cdot\begin{bmatrix}0\\ 1\end{bmatrix}$ is the second cloumn of $A$ . Now, for any automorphism $g$ of $\Bbb Z_2\times \Bbb Z_2$ consider the matrix $A$ defined by $$A=\begin{bmatrix}g\bigg( \begin{bmatrix}1\\ 0\end{bmatrix}\bigg)\space \space g\bigg( \begin{bmatrix}0\\ 1\end{bmatrix}\bigg)\end{bmatrix}.$$ Then, $\phi(A)=g$.
In general you can show, $\text{Aut}(\underset{n-\text{times}}{\Bbb Z_2\times\cdot\cdot\cdot\times\Bbb Z_2})=GL_n(\Bbb Z_2).$
A: You can view $C2 \times C2$ as an $F_2$ vector space.
In other words, add and multiply in the obvious way.
Say $ (1,0)+(0,1)=(1,1)$, would be an example of addition, and $r.((1,1),(0,1))=((r,r),(0,r))$ for all $r \in F_2 =\{0,1\} $ would be an example of multiplication
This gives $C2 \times C2$ a vector space structure, so we can look at all linear maps from this vector space to itself, and in particular we are interested in those linear maps which are invertible. In the case of finite dimensional vector spaces, the set of automorphisms of $V$ is equal to the general linear group, as you pointed out.
A: $\mathbf{Z}_2 \times \mathbf{Z}_2$ is a 2-dimensinal vector space over $\mathbf{Z}_2$ and the automorphisms of a vector space correspond to invertible linear maps on that vector space. Thus $$\operatorname{Aut}_{\mathbf{Z}_2} (\mathbf{Z}_2 \times \mathbf{Z}_2) = \operatorname{GL}_2(\mathbf{Z}_2).$$
But be careful because these are vector space automorphisms rather than group automorphisms. Every vector space automorphism is an automorphism of its underlying additive group. What we need to show is that every group automorphism extends to a vector space automorphism in this context.
Given a group automorphism $f : \mathbf{Z}_2 \times \mathbf{Z}_2 \to \mathbf{Z}_2 \times \mathbf{Z}_2$, we get a $\mathbf{Z}$-module automorphism $\mathbf{Z}_2 \times \mathbf{Z}_2 \to \mathbf{Z}_2 \times \mathbf{Z}_2$ since Abelian groups are nothing but $\mathbf{Z}$-modules. Since the automorphism is $\mathbf{Z}$-linear, it must also be $\mathbf{Z}_2$-linear because $2 = 0$ in the group, so the map factors through $\mathbf{Z}_2$.
To see this more "directly" consider the equation $f(ax + by) = af(x) + bf(y)$ for $a, b \in \mathbf{Z_2}$ and $x, y \in \mathbf{Z}_2 \times \mathbf{Z}_2$. $f$ is a group homomorphism so $f(x + y) = f(x) + f(y)$ (this is where the $\mathbf{Z}$-linearity comes from by the way). Also $f(0x) = 0$ and $f(1x) = f(x)$. Thus we can see how $f(ax + by) = af(x) + bf(y)$ follows.
