Iterative eigensolvers such as ARPACK, give the option to find a subset of the eigenvalues which have the largest imaginary part. My question is how do these algorithms work.
As I understand it, generally such algorithms use Krylov spaces and shift-invert methods which are very good at finding eigenvalues either at the extremes of the spectrum or around a given value. This is essentially because repeated applications of a matrix projects onto the eigenvector with largest magnitude eigenvalue. However, since the imaginary part of an eigenvalue need not have any correlation with its real part, I can't see how it's able to `ignore' the real part.
If anyone has any idea how these algorithms work, or alternatively know a way to search for eigenvalues which is ignorant of the real part of the eigenvalue I'd be very grateful.
Note that I previously asked this question on the maths stackexchange but didn't receive any answers:
https://math.stackexchange.com/questions/2437587/eigenvalue-with-largest-imaginary-part
true
'. In chapter 3 of ARPACK Users' Guide, it does seem to use some sort of shift-and-invert when you specify to use 'LI' or 'SI'. $\endgroup$