The property of commutative matrixes and eigen vectors. $A,B$ are $n\times n$ diagonalizable matrixes, and satisfy $AB=BA.$
Let $W_\lambda$ stands for the eigenspace of eigenvalue of $A$, $\lambda.$
Prove
(i) For each eigenvalue of $A$, $\lambda$ ; $$v\in W_\lambda \Rightarrow Bv \in W_\lambda.$$
(ii) For each eigenvalue of $A$, $\lambda$ ; there exists the base of $W_\lambda$ which is composed of the eigenvectors of $B$.
I did (i) and I'm having difficulty in showing (ii). I cannot find such base.

Fix $\lambda$ ; the eigenvalue of $A$, and $\dim W_\lambda=:k.$
Intuitively, I think the ONB of $W_\lambda$ works (I don't know whether this is correct.)
So, let $\{ u_1,\cdots , u_k \}$ be ONB of $W_\lambda$, then $W_\lambda=\langle u_1, \cdots , u_k \rangle$.
I expect each $u_j$ is eigenvector of $B$.
I want to find $\square_j \in \mathbb C$ s.t. $B u_j=\square_j u_j$ for each $j$.
For each $j$, $u_j \in W_\lambda$ so from (i), $Bu_j\in W_\lambda=\langle u_1, \cdots , u_k \rangle$.
I can write $Bu_j=\sum_{i=1}^k c^{(j)}_iu_i$.
If I show $c^{(j)}_i=0$ for $i \neq j$, I can see $Bu_j=c^{(j)}_j u_j$, but I cannot find the reason why $c^{(j)}_i=0$ for $i \neq j$.
From the orthonormalness of $\{ u_1, \cdots, u_k \}$, I also have $(Bu_j, u_i)=c_i^{(j)}$.
Am I on right track ? I want you to give me any help.
 A: Since $A,B$ are diagonalizable, we can find a eigenbasis for $A$, $V=[v_1,v_2,...v_n]$, where $\lambda_1,...\lambda_n$. $\Lambda=diag(\lambda_1,...\lambda_n)$
$$
AV=V\Lambda
$$
Then given a comutable matrix $B$
$$
ABV=BAV=BV\Lambda
$$
Let $U=BV$,
$$AU=U\Lambda$$
Let $U=[u_1,u_2...u_n]$, $u_i=Bv_i$, it's obvious that $i$ th column of $BV$ is an eigenvector of $A$ with eigenvalue $\lambda_i$.
Thus for each $\lambda$ $\forall v\in W^{\lambda},Bv\in W^{\lambda}$

Now consider an eigenspace $W^{\lambda}$ spanned by the eigenvectors of $A$, $W^{\lambda}=Span(v_1,...v_p)$. From 1), $W^{\lambda}$ is an invariant subspace for linear operator $B$
$$B[v_1,...v_p]=[v_1,...v_p]M$$
$M$ is a $p\times p$ matrix, which is the effect of $B$ as it's restricted to the basis set $[v_1,...v_p]$.
Since $B$ is diagonalizable, we can actually use this lemma: diagonalizable linear operator is also diagonalizable when restricted to the invariant subspaces (Diagonalizable transformation restricted to an invariant subspace is diagonalizable).
Then diagonalizing $M=Q\Sigma Q^{-1}$ we get
$$
B[v_1,...v_p]=[v_1,...v_p]Q\Sigma Q^{-1}\\
B[v_1,...v_p]Q=[v_1,...v_p]Q\Sigma
$$
Thus, $[v_1,...v_p]Q$ is a eigen basis for $Span(v_1,...v_p)$, each column is an eigen vector of $B$.

This brief answer proved the lemma well.
Here is a sketch, for any $w\in W^{\lambda}$, if we decompose it into eigenvectors with distinct eigenvalues of $B$.
$$
w=\sum_{i=1}^k v'_i\;\; Bv'_i=\sigma_i v'i
$$
Since $Bw\in W^{\lambda}, w\in W^{\lambda}$, $Bw-\lambda_1 w\in W^{\lambda}$
$$
Bw-\lambda_1 w = \sum_{i=1}^k (\lambda_i - \lambda_1) v'_i\\
= \sum_{i=2}^k (\lambda_i - \lambda_1) v'_i
$$
Then $Bw-\lambda_1 w$ can be decomposed into sum of $k-1$ eigenvectors. Repeating this procedure for $Bw-\lambda_1 w$ with the remaining $k-1$ eigenvectors, until we are left with one eigenvector, we have
$$
v_k=\prod_{j\neq k}\frac{(B-\lambda_j I)}{\lambda_k-\lambda_j}w \in W^{\lambda}
$$
This argument is true for any $k$, thus we can find a eigenbasis for vectors in $W^{\lambda}$
