Characteristic polynomial of a A agrees with its minimal polynomial if and only if all matrices that commutes with A is a polynomial of A 
Let $A \in \mathcal{M}_n (\mathbb{C})$. Over $\mathbb{C}$, show that the following two statements are equivalent:

*

*Characteristic polynomial of a $A$ agrees with its minimal polynomial;

*All matrices that commutes with $A$ is a polynomial of $A$.


For 1 > 2, from 1 I can only get that $A$ has a Jordan canonical form that each eigenvalue has only one Jordan block (i.e. maximum size), and I have no idea afterwards.
2 > 1 is a complete no-go for me.
Any hints or solutions are appreciated.
 A: $(2)\to (1)$ Suppose for the sake of contradiction that (1) does not hold. Let $J=T^{-1}AT$ be a Jordan canonical form of $A$ and $T$ be a non-singular matrix. By Claim from Ben Grossmann’s answer, $J$ has distinct Jordan cells $J_1$ and $J_2$ corresponding to the same eigenvalue $\lambda$. Let $R_k$ be the set of rows occupied by $J_k$ for $k=1,2$. Let $D=\|d_{ij}\|$ be a diagonal matrix such that $d_{ii}$ equals $1$, if $i\in R_1$, and equals $0$, otherwise. Let $B=\|b_{ij}\|$ be any polynomial of $J$. Then $b_{ii}=b_{jj}$ for any $i\in R_1$ and $j\in R_2$, so $D$ is not a polynomial of $J$. On the other hand, it is easy to check that $DJ=JD$. Then a matrix $TDT^{-1}$ commutes with $A$, but $TDT^{-1}$ is not a polynomial of $A$, a contradiction.
$(1)\to (2)$ Gerry Myerson proved here that it suffices to show that there exists a vector $v$ such that vectors
$A^0v,A^1v,\dots,A^{n-1}v$ are linearly independent. Let $$\chi(x) = (x - \lambda_1)^{d_1} \cdots (x - \lambda_k)^{d_k}$$  be the
characteristic polynomial of $A$ and $\lambda_i$’s are distinct. For each $i=1,\dots, k$ put $\chi_i(x)=\chi(x)/(x-\lambda_i)$ and
$\bar\chi_i(x)=\chi(x)/(x-\lambda_i)^{d_i}$. Since $\chi_i(x)$ is not a minimal polynomial of $A$, there exists a vector $w_i$ such that $\chi_i(A)w_i\ne 0$. Let $\varphi_i(x)$ be a polynomial of minimal degree such that $\varphi_i(A)w_i=0$.  The minimality of degree of $\varphi_i(x)$ easily implies that $\varphi_i(x)|\chi(x)$. Put $v_i=\bar\chi_i(A)w_i$ and $v=v_1+\dots+v_k$. Suppose for the sake of contradiction that there exists a polynomial $\psi(x)$ with minimal degree $\deg \psi(x) <\deg \chi(x)$  such that $\psi(A)v=0$. The minimality of degree of $\psi(x)$ easily implies that $\psi(x)|\chi(x)$. Since $\deg\psi(x)<\deg\chi(x)$, there exists $i=1,\dots, k$ such that $\psi(x)|\chi_i(x)$. Then $$0=\chi_i(A)v=\chi_i(A)v_i=\chi_i(A)\bar\chi_i(A)w_i.$$ The minimality of degree of $\varphi_i(x)$ easily implies that $\varphi_i(x)| \chi_i(x)\bar\chi_i(x)$. Since $\varphi_i(x)|\chi(x)$, we have that
$\varphi_i(x)|(\chi_i(x)\bar\chi_i(x),\chi(x))=\chi_i(x)$. But then $\chi_i(A)w_i=\varphi_i(A)w_i=0$, a contradiction.
A: I just inspected the proof provided by Alex. The (2) => (1) direction seems correct.
But the direction (1) => (2) seems confusing. I think the proof provided here
is to prove that there is no polynomial $f$ with degree strictly less than the degree of the minimal polynomial of $A$ satisfying $f(A)=O$. But the original problem (1) => (2) remains unsolved.
We should construct a cyclic vector from the assumption that (1) is true.
