2
$\begingroup$

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
    f=@()(eigs(M,k,"largestreal"));
    t(k) = timeit(f);
end
figure
plot(t)
ylabel("time(s)")
xlabel("k")

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.

$\endgroup$

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.