Subspace embedding with random Khatri-Rao products and its application to eigensolvers
<|reference_start|>Subspace embedding with random Khatri-Rao products and its application to eigensolvers: Various iterative eigenvalue solvers have been developed to compute parts of the spectrum for a large sparse matrix, including the power method, Krylov subspace methods, contour integral methods, and preconditioned solvers such as the so called LOBPCG method. All of these solvers rely on random matrices to determine, e.g., starting vectors that have, with high probability, a non-negligible overlap with the eigenvectors of interest. For this purpose, a safe and common choice are unstructured Gaussian random matrices. In this work, we investigate the use of random Khatri-Rao products in eigenvalue solvers. On the one hand, we establish a novel subspace embedding property that provides theoretical justification for the use of such structured random matrices. On the other hand, we highlight the potential algorithmic benefits when solving eigenvalue problems with Kronecker product structure, as they arise frequently from the discretization of eigenvalue problems for differential operators on tensor product domains. In particular, we consider the use of random Khatri-Rao products within a contour integral method and LOBPCG. Numerical experiments indicate that the gains for the contour integral method strongly depend on the ability to efficiently and accurately solve (shifted) matrix equations with low-rank right-hand side. The flexibility of LOBPCG to directly employ preconditioners makes it easier to benefit from Khatri-Rao product structure, at the expense of having less theoretical justification.<|reference_end|>
@article{bujanović2024subspace,
    title={Subspace embedding with random Khatri-Rao products and its application
  to eigensolvers},
    author={Zvonimir Bujanovi'c, Luka Grubiv{s}i'c, Daniel Kressner, Hei Yin
  Lam},
    journal={arXiv preprint arXiv:2405.11962},
    year={2024},
    archivePrefix={arXiv},
    eprint={2405.11962},
    primaryClass={math.NA cs.NA}
}