I'm doing a Lanczos diagonalization of a large sparse matrix (~2 million elements). Almost all of the steps in the Lanzcos algorithm are done in parallel on the GPU, except for diagonalizing the Lanczos matrix to check for convergence. For that, I've been using the TQLI algorithm from Numerical Recipes. Are there methods for finding the eigensystem of a tridiagonal matrix that are parallel or easily parallelizable? Does a parallel version of TQLI exist?
Parallel algorithm for eigensystem of a tridiagonal matrix
linear algebra;algorithms;eigensystem
I suggest using a library like SLEPc, which includes interfaces to many different methods for solving eigensystems in serial or parallel. The user manual includes references to several different methods for solving eigenvalue problems.