Given that there are eigensolvers in Scalapack that use a divide and conquer method, is there any way we can use Scalapack functions to only compute the first $k$ dominant eigenvalues and corresponding eigenvectors?

This is for a spectral clustering code.

  • 1
    $\begingroup$ (assuming your matrix is sparse/structured and $k$ is small relative to the size of the matrix,) that's exactly what Arnoldi eigenvalue methods (and ARPACK) are useful for. a search on this website should produce a number of useful posts on this topic $\endgroup$ – GoHokies Feb 14 '17 at 11:41
  • $\begingroup$ Yes , I know about Arnoldi methods , the idea was to do a parallel computation with MPI (hence Scalapack ) $\endgroup$ – Yacine E.Faris Feb 14 '17 at 12:34
  • 2
    $\begingroup$ the authors of ARPACK have written a parallel implementation (on top of BLACS and MPI). you can download it from here $\endgroup$ – GoHokies Feb 14 '17 at 15:04
  • $\begingroup$ Is your matrix symmetric/Hermitian? If so you might look at pdsyevr or pdsyevx (or equivalents if not using doubles) $\endgroup$ – Ian Bush Feb 14 '17 at 17:08
  • $\begingroup$ @GoHokies please, consider converting two of your very accurate comments into the answers. $\endgroup$ – Anton Menshov May 18 '19 at 22:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.