Let $H \in \mathbb{R}^{1000 \times 1000}$ be symmetric positive definite. The lowest 100 eigenvectors of $H$, $\psi_i$, can be partitioned using a region, $\Omega \subset \mathbb{R}^{1000}$, such that each $\psi_i$ localizes either inside of $\Omega$ or outside of $\Omega$. Label the inner eigenvectors $\psi_i^{in}$ and the outer ones $\psi_i^{out}$. There's only about 10 $\psi_i^{in}$s. Given $\Omega$, my goal is to efficiently compute the $\psi_i^{in}$.

One way to find the $\psi_i^{in}$ would be to compute all 100 $\psi_i$s and then partition. The problem is that this requires diagonalizing over a 100 dimensional space in order to get 10 eigenvectors. It seems like there would be a cheaper way to compute the $\psi_i^{in}$.


I suppose another way to do it would be to solve
\begin{equation}
\min_{\psi, \; \lambda} \|H\psi - \lambda \psi \| \; \text{subject to} \; \int_{\Omega^c} \psi^2 = 0.
\end{equation}
Which I imagine is a pretty standard way to rewrite eigenvalue problems but I don't know where to look for more on this.


**Edit:** Replace 1000 by 100000. I can't cop out of this with a full svd!

**Edit two and additional question:** I'm very interested in this idea to restart Lanczos. It seems like that should work but don't we need some kind of ``localizing convergence'' result? Has anyone seen something like this before?