# Using Arnoldi Method with Multiple Options

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?