# A decomposition of Hilbert space via self-adjoint operator

Let $H$ be a complex Hilbert space and $A:H\to H$ self-adjoint. Show that one can decompose $H$ into two $A$-invariant closed subspaces as $H=H_{p} \bigoplus H_{c}$ such that the spectrum of $A|_{H_{p}}$ consists only of eigenvalues and $A|_{H_{c}}$ has no eigenvalues provided it is nonzero.

My thoughts:

If $H$ is finite dimensional then $H_{p}$ is the subspace generated by all eigenvectors of $A$ and $H_{c}$ is its orthogonal complement. Suppose $H$ is infinite dimensional. I think that again $H_{p}$ must be the subspace generated by all eigenvectors of $A$. But I cannot see why the spectrum of $A|_{H_{p}}$ does not contain any elements different from eigenvectors of $A$ and also why $H_{p}$ is closed (Is $H_{p}$ always finite dimensional?). Perhaps, I have to use self-adjointness at somewhere. Thank you for your help!

In infinite-dimension the result is not true. If $\lambda\in\sigma(A|_{H_p})$ then by hypothesis $\lambda$ is an eigenvalue of $A|_{H_p}$, which means it is also an eigenvalue of $A$. Conversely, let $\lambda$ be an eigenvalue of $A$; fix $v\in H$ an eigenvector for $\lambda$. Since by hypothesis $H_p$ is invariant for $A$, it is reductive (because $A$ is self-adjoint). So $A$ commutes with the projection $P$ onto $H_p$. So from $Av=\lambda v$ we get $$\lambda\,Pv=P(\lambda v)=PAv=A\,Pv.$$ Thus $Pv\in H_p$ and it is an eigenvector for $A|_{H_p}$ with eigenvalue $\lambda$. Note that $Pv\ne0$, because if $Pv=0$ then $v\in H_c$ and $A|_{H_c}$ would have an eigenvalue.
The above shows that $A$ and $A|_{H_p}$ have the same eigenvalues. Now let $H=\ell^2(\mathbb N)$, and $A$ the operator that maps $$(x_1,x_2,\ldots)\mapsto (x_1,x_2/2,x_3/3,\ldots)$$ Then the eigenvalues of $A$ are $\{1/n:\ n\in\mathbb N\}$. The spectrum of $A$ (and that of $A|_{H_p}$ too) is closed, and so it contains the point $0$, which is not an eigenvalue.