Open
Description
Documentation for future work:
- The new lanczos solver in raft Lanczos Solver raft#2416 can be integrated into the UMAP spectral initialization algorithm.
- After the UMAP_::get_graph step the resulting COO matrix needs to converted to a Laplacian CSR matrix.
- Then the lanczos solver can be called using
raft::sparse::solver::lanczos_compute_smallest_eigenvectors
- Additional steps may be required such as laplacian normalization which sklearn uses.
So far, I've verified that the current spectral initialization gives random noise embeddings. One easy way to check this is to use a toy dataset from sklearn such as S-curve, comment out the UMAP code after spectral initialization and plot it.
Once the new solver is integrated the spectral initialization should be fixed.