when do two elements of SO3 commute? I have an intuition that at least one of the element should be in the form of 
diagonal matices with diagonal entries being 1 or -1 (e.g I3)
I don't know if there's any other possiblity
Please give a strong proof
(a similar question is that show the centre of the general linear group GL2(C) consisits of all scalar matrices, I can show all scalar matrices are in the centre, but how to show that they are the only kind?)
 A: Every non-identity element of $SO(3)$ has two fix points as it acts on the unit sphere, which are the axis of the rotation. Two elements commute if they have the same two fixed points - that is, if they rotate along the same axis, or if their axes are orthogonal and they are both $180$ degree turns.
This can be simplified to include the identity element by saying that for $g,h\in SO(3)$, $gh=hg$ if and only if either
$$\exists x\in S^2: gx=x=hx$$
or
$$\exists x,y\in S^2: x\cdot y=0: hx=x, gy=y, hy=-y, gx=-x$$
A quick outline of the proof.
First you need to show that every non-identity element of $SO(3)$ has exactly two fixed points, necessarily antipodal.
Second if $g,h\in SO(3)$ and $gh=hg$. Let $x$ be a fixed point of $h$. Then $$gx=g(hx)=(gh)x=(hg)x=h(gx)$$ So $gx$ is also a fixed point of $h$. Which means that $gx=x$ or $gx=-x$. If $gx=x$ we are done, so assume $gx=-x$, and let $y$ be a fixed point of $g$. Then we get:
$$y\cdot x = (gy)\cdot(gx) = y\cdot(-x)=-y\cdot x$$
(The first equality is the definition of $SO(3)$.)
By symmetric, if $h$ doesn't fix $y$, then $hy=-y$.
So we see that $h$ and $g$ either must share a fixed point, or they must both be $180$ degree rotations around orthogonal axes.
This makes the representative examples:
$$g=\left(\begin{matrix}1&0&0\\
0&\cos\alpha&-\sin\alpha\\
0&\sin\alpha&\cos\alpha
\end{matrix}\right),h=\left(\begin{matrix}1&0&0\\
0&\cos\beta&-\sin\beta\\
0&\sin\beta&\cos\beta
\end{matrix}\right)$$
and
$$g=\left(\begin{matrix}1&0&0\\
0&-1&0\\
0&0&-1
\end{matrix}\right),h=\left(\begin{matrix}-1&0&0\\
0&1&0\\
0&0&-1
\end{matrix}\right)$$
with all other pairs being group conjugates of such pairs.
That is different from your question about the center of $GL_2(\mathbb C)$ because that question is not about whether two elements commute, but whether a single element commutes with all other elements of the group.
