3rd roots of unity as eigenvectors 
Determine all eigenvalues of the matrix
  $$A=\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}$$
  and then determine a base for each eigenspace.

It's easy to compute $\chi_A(z)=z^3-1$ so my roots (and therefore eigenvalues) are $z_1=1, z_2=\cos(2\pi/3)+i \sin(2\pi/3)$ and $z_3=\cos(4\pi/3)+i \sin(4\pi/3)$.
Usually I would determine the eigenspaces by $E_\lambda=\ker(A-I_n\lambda)$, but having the solution to this problem shows that the result should be
$$E_1=\left\langle\begin{bmatrix}1\\1\\1\end{bmatrix}\right\rangle,\qquad\qquad
E_{z_2}=\left\langle\begin{bmatrix}z_3\\z_2\\1\end{bmatrix}\right\rangle,\qquad\qquad
E_{z_3}=\left\langle\begin{bmatrix}1\\z_2\\z_3\end{bmatrix}\right\rangle.$$
The first one is obvious, but I don't see where the trick is to quickly compute the other two eigenspaces / eigenvectors! Any help would be appreciated!
 A: In this particular case, note that $A$ is a permutation matrix corresponding to a 3-cycle. Also, multiplying each of the roots of unity by $z_2$ is the same as permuting the roots in a 3-cycle. So putting those root as the coordinates of vector ought to seem like a good plan for getting something with $z_2$ as an eigenvalue.
In general, once you know an eigenvalue $\lambda$, then corresponding eigenspace is the kernel of (the linear transformation associated with) $A-\lambda I$. So if all attempts to be clever fail, you can always compute that by using Gaussian elimination on $A-\lambda I$.

Example of Gaussian elmination for the eigenvalue $\zeta$. We start with $A-\zeta I$:
$$ \begin{pmatrix} -\zeta & 0 & 1  \\ 1 & -\zeta & 0 \\ 0 & 1 & -\zeta \end{pmatrix} $$
Permute the rows to bring some natural pivots to the front and reduce the work:
$$ \begin{pmatrix}  1 & -\zeta & 0 \\ 0 & 1 & -\zeta \\ -\zeta & 0 & 1 \end{pmatrix} $$
Add $\zeta$ times the top row to the bottom row:
$$ \begin{pmatrix}  1 & -\zeta & 0 \\ 0 & 1 & -\zeta \\ 0 & -\zeta^2 & 1 \end{pmatrix} $$
Add $\zeta^2$ times the middle row to the bottom row:
$$ \begin{pmatrix}  1 & -\zeta & 0 \\ 0 & 1 & -\zeta \\ 0 & 0 & 0 \end{pmatrix} $$
So it has rank 2 as expected. Add $\zeta$ times the middle row to the top row, to clear out above the pivot:
$$ \begin{pmatrix}  1 & 0 & -\zeta^2 \\ 0 & 1 & -\zeta \\ 0 & 0 & 0 \end{pmatrix} $$
And now we can read off a basis vector for the kernel, namely $(\zeta^2,\zeta,1)$ -- exactly your $E_{z_2}$.
A: The matrix you're given is nothing but the permutation matrix corresponding to the permutation $(123)$. Hence, it performs the same permutation on the rows of the matrix $E_{z_2},E_{z_3}$. 
Now, just note that multiplying $E_{z_2}$ by $z_2$ and $E_{z_3}$ by $z_3$ also amounts to the same permutation $(123)$.
A: As far as finding eigenvectors, that's easy once you know the eigenvalue.  If 1 is the eigenvalue, then you are looking for solutions to
$$\begin{bmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix}  \begin{bmatrix} a \\ b \\ c \end{bmatrix} = \begin{bmatrix} a \\ b \\ c \end{bmatrix}.$$
The left hand side can be multiplied out easily to
$$\begin{bmatrix} c \\ a \\ b \end{bmatrix} = \begin{bmatrix} a \\ b \\ c \end{bmatrix}.$$
Therefore, we must have $c = a$, $a = b$, and $b = c$, or putting it all together, $a = b = c$.  Therefore, all eigenvectors are of the form
$$\begin{bmatrix} a \\ a \\ a \end{bmatrix}$$
That is one eigenvector.  Do a similar calculation for the other two eigenvalues.  It will be more complicated because it will involve the more complicated eigenvalues, but it won't be very complicated because it will just involve $\begin{bmatrix} c \\ a \\ b \end{bmatrix} = k \begin{bmatrix} a \\ b \\ c \end{bmatrix}$, which gives $c = ka$, $a = kb$, and $b = kc$.  Pick $a = 1$ and get $c$ and $b$.
