Let's say I have a matrix $A\in M^n(\mathbb{C})$. I would like to find the eigenvectors of $A$ that live in a certain $k$-dimensional subspace, $k<n$, if such eigenvectors exist.
Question: Is there some algorithm or algebraic method that will produce these eigenvectors when they exist, and give some failure signal when they don't exist?
I would like something better the obvious method, which is "project A into the subspace, find the eigenvectors of the projected A, and then check if these are eigenvectors of the original A." This method does produce the eigenvectors when they exist, but also produces a lot of extraneous eigenvectors without giving a "failure signal" beyond just double checking every eigenvector.
Choose a basis $b_1,\dots, b_k$ in the given subspace, then form $$A':=[Ab_1|\dots | Ab_k], \quad B:=[b_1|\dots|b_k]$$ both $k\times n$ matrices, and you basically have to find the kernel of $A'-\lambda B$ to get (the $b_j$-coordinates of) the eigenvectors for eigenvalue $\lambda$.