Implementation of a null-space Rayleigh Quotient Iteration algorithm in Jax with sparse matrices. Works on the GPU! Could be much faster if we use a better way to solve the linear subproblem.
Solves a problem that looks like:
It can be solved as a generalized eigenvalue problem of PAP, with P the projection onto the subspace orthogonal to v. One issue is that if A is sparse, PAP could be dense and we could run into memory or runtime problems with big matrices. This implementation favors matrix-vector multiplications- we never compute or store PAP & should be able to scale to some pretty big graphs.