I have a very large graph (about over a billion nodes) and I need to compute all the eigenvectors and eigenvalues of the graph (i.e., of the Laplacian of the adjacency matrix) for downstream analysis. Naively, this could take centuries to run and require petabytes of storage space. However, the graph is extremely locally connected (and symmetric). That is, I know that nodes are only connected to the few nodes around it. For example, node 5,000 would never be connected to node 10,000. Not only are the extreme vast majority of the values in the matrix zero, but all of the non-zero values are close to the diagonal (local connectivity).
How can I compute the eigendecomposition in a way that doesn’t take a very long time?
Related: Compute all eigenvalues of a very big and very sparse adjacency matrix
Potentially useful: DSBEVD, DSBTRD
I believe this is a "band matrix."
Here's about what the matrix would look like, except much larger:
Note: I am wondering about an algorithm or method that will accomplish this, though a language-specific implementation is still fine, since I can at least read how it is implemented.