How to find the minimal-polynomial of $\begin{pmatrix} 0&1&0&1\\1&0&1&0\\0&0&0&0\\0&0&0&0\end{pmatrix}$ 
$E:=\begin{pmatrix} 1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{pmatrix} A:= \begin{pmatrix} 0&1&0&1\\1&0&1&0\\0&0&0&0\\0&0&0&0\end{pmatrix} A^2:= \begin{pmatrix} 1&0&1&0\\0&1&0&1\\0&0&0&0\\0&0&0&0\end{pmatrix}$

My attempt:
The idea is to find a linear combination $lin(E+A+A^2+...+A^n) = A^{n+1}$
I tried it by taking the first column of each matrix and look for a solution:
(1) E|A
$x\begin{pmatrix} 1\\0\\0\\0\end{pmatrix} = \begin{pmatrix} 0\\1\\0\\0\end{pmatrix}$
This can obviously not work
(2) $lin(E+A) = A^2$
$x\begin{pmatrix} 1\\0\\0\\0\end{pmatrix} +y \begin{pmatrix} 0\\1\\0\\0\end{pmatrix} = \begin{pmatrix} 1\\0\\0\\0\end{pmatrix}$
Which works for $x=1, y=0.$
Now the minimalpolynomial should be $0\cdot E+ 1\cdot A + A^2 \rightarrow 0+x+x^2$, but it seems to be wrong in further calculations. 
 A: The quick way to deduce the minimal polynomial (or Jordan normal form or anything else) is to note that $A = B \otimes C$ where
$$
B = \pmatrix{1&1\\0&0}, \quad C = \pmatrix{0&1\\1&0}
$$ 
and $\otimes$ denotes the Kronecker product.
Since $B$ has minimal polynomial $x^2 - x$ and $C$ has minimal polynomial $x^2 - 1$, the minimal polynomial of $A$ is the least common multiple $x^3 - x$.

Alternatively, my approach would be to calculate the characteristic polynomial, then try whichever factors make sense.  In this case, we find the characteristic polynomial to be 
$$
x^2(x-1)(x+1)
$$
the minimal polynomial must divide this.  However, the zeros of the minimal polynomial must include all eigenvalues.  So, the only possibilities are that the minimal polynomial is the same as the characteristic polynomial, or that it's the factor $x(x-1)(x+1)$.

Yet another method:
It seems clear to me that $E,A,$ and $A^2$ are linearly independent.  We must therefore use another power of $A$.  Upon calculation, it's clear that $A^3 = A$, which is to say that $A^3 - A = 0$.  Since we've excluded the possibility of degree $2$ minimal polynomials, the answer must be $x^3 - x$.
A: The easiest way to find a minimal polynomial is to put the matrix in Jordan normal form. The minimal polynomial is $p(x) = \prod (x-\lambda)^{d_\lambda}$, where the product runs over the eigenvalues $\lambda$ and $d_\lambda$ is the size of the largest Jordan block for that eigenvalue (not the multiplicity of the eigenvalue).
In this case, your matrix is diagonalizable, so all the Jordan blocks are $1 \times 1$. It has 4 eigenvectors with eigenvectors 0 (multiplicity 2), 1, and -1. The minimal polynomial is $p(x) = x(x-1)(x+1)$.
