I am interested in methods for solving the optimization problem$$ \begin{array}{rl} \arg\min_x & x^T A x \\ \mathrm{s.t.} & x^T x = 1 \\ & Bx = 0 \end{array} $$where $A$ is symmetric and full rank with well-separated eigenvalues, and $B$ has a nontrivial null space.  In other words, I want to restrict $A$ to the null space of $B$ and find the eigenvector corresponding to the smallest eigenvalue.  In the absence of the linear constraint, this problem is a standard eigenvalue problem and can be solved using power iterations.  Ideally I would like to find a similar (iterative) procedure, since in my case I can gain a lot of performance by first computing a sparse factorization of $A$ (and potentially $B$ as well).I am not interested in methods for dense problems, nor answers that simply amount to just use software package X; I am interested in implementing the method myself.  For this reason, simple methods are preferred, even over methods that are perhaps slightly better/faster/more robust.I am aware of the paper Some Modified Matrix Eigenvalue Problems by Gene Golub, but do not see a way to efficiently incorporate the generalized inverse in the sparse case.  I am also aware of this question, but do not want to rely on a sophisticated solver for generalized eigenvalue problems; I'm really looking for something not so different from the power method.Thanks!
Sparse smallest eigenvalue problem on a linear subspace?
linear algebra;eigensystem