I just need to calculate the largest real part of eigenvalues of a Jacobian which is highly non-normal and singular. Most of the eigenvalues are negative, and some of them are positive but near to zero relatively. I want to find the largest one except the zeroes. And I do not need the eigenvectors.

However, there are several zero eigenvalues. So I want to know if it is worthy to do some transformation to cancel the known zero eigenmode (similar transform to the null space of the modes). Or I can choose to calculate the first few eigenvalues directly.

Here is the sample matlab code to test how much is the cost to calculate first K eigenvalue with largest real part of a random matrix.

N=3000; % N hundreds to thousand
M=rand(N,N)+eye(N); % shift to avoid zero
K=8; % K is less than 10
t = zeros(K,1);
for k=1:K
    t(k) = timeit(f);

However, the plot output is wavy and non-monotonic.

Is there any analysis on this problem? I read the ARPACK's document, there is no detail of how the it is implemented.


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.