I have a code which finds the eigensystem for a matrix H = H0 + x HInt, where x is a variable which turns on the interaction. H0 is diagonal, and HInt is a sparse matrix (with about 400 states, I hope to go up to 1000) - see the MatrixPlot below:
Unfortunately I need to find pretty much all the eigenvalues and eigenvectors, as I need to adiabatically match them as the interaction is switched so that the eigenstates can be tracked as the interaction is turned on.
Given the sparse nature of the matrix involved, are there ways of speeding up the eigensystem problem? Currently I'm just using
Eigenvalues[H0+ x HInt];
etc.
Thanks in advance.