2
$\begingroup$

I have a matrix with many complex eigenvalues, but I only need a few near a particular complex number. I am only looking at the imaginary parts, so I need the few closest on the imaginary scale to my reference complex number.

Here is sample code I tried, using the Arnoldi method of Eigenvalues. I am attempting to obtain the 2 closest eigenvalues to the complex number s on the imaginary scale from the matrix X.

d = {1 - 2 I, 3 + 0.5 I, 2 + 3 I, 1.5 - 3 I}
X = DiagonalMatrix[d]; 
s = -2.5 I; 
f = Eigenvalues[X, 2, Method -> {"Arnoldi", "Criteria" -> "ImaginaryPart","Shift" -> s}]

Separately, the Criteria and the Shift options work; but together, I am not getting the expected results. I expect to get,

f = {1 - 2 I, 1.5 - 3 I}

But I am getting,

f = {2. + 3. I, 1.5 - 3. I}

Is there some compatibility issue with these options?

$\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.