raft icon indicating copy to clipboard operation
raft copied to clipboard

Lanczos Solver

Open aamijar opened this issue 1 year ago • 1 comments

Lanczos Solver for Sparse Eigen Decomposition

We propose a new lanczos solver in raft that fixes the issues present in the previous solver raft::sparse::solver::detail::computeSmallestEigenvectors.

Specifically we address the following issues:

  1. Numerical Stability for both float32 and float64 datatypes
  2. Efficiency and Speed of Convergence

This new implementation is taken from the cupy library cupyx.scipy.sparse.linalg.eigsh where the thick-restart and full reorthogonalzation methods are used.

Additionally this PR exposes a python api for raft lanczos solver with an interface similar to scipy.sparse.linalg.eigsh and cupyx.scipy.sparse.linalg.eigsh.

from pylibraft.solver import eigsh

aamijar avatar Aug 20 '24 23:08 aamijar

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

copy-pr-bot[bot] avatar Aug 20 '24 23:08 copy-pr-bot[bot]

I unfortunately don't have permissions to push on the branch of this PR so I kept the commits and continued on PR #2481.

lowener avatar Nov 01 '24 21:11 lowener