# [SciPy-Dev] Strange results by eigs

Nils Wagner nwagner@iam.uni-stuttgart...
Thu Oct 20 11:53:14 CDT 2011

```Hi all,

I am confused by the results of the following test

from numpy import set_printoptions
from numpy.random import seed, rand
from scipy.linalg import eig
from numpy import dot, diag
from scipy.sparse.linalg import eigs
from scipy.linalg import norm
set_printoptions(precision=6)
seed(10)
n=5
A =  rand(n,n)+ 1j*rand(n,n)
B =  rand(n,n)+ 1j*rand(n,n)

w,vl,vr = eig(A,B,left=True, right=True)

print 'Eigenvalues by eig'
print w

k = n-2
ws,vs = eigs(A,k,B)
for i in range(k):
r =dot(A,vr[:,i])-w[i]*dot(B,vr[:,i])
res = norm(r)
print 'Residual', res

print 'Eigenvalues by eigs'

k = n-2
ws,vs = eigs(A,k,B)
print ws

for i in range(k):
r =dot(A,vs[:,i])-ws[i]*dot(B,vs[:,i])
res = norm(r)
print 'Residual', res

Eigenvalues by eig
[ 2.093178-1.783532j -0.202628+1.195944j
1.186895+0.56595j
0.014805-0.287354j  0.772942-0.266609j]
Residual 1.9173960652e-15
Residual 2.20392640899e-15
Residual 3.21653472875e-15
Eigenvalues by eigs
[ 19.064654+27.897369j  15.797549-27.544265j
-0.249578-30.673974j]
Residual 2.39453499962e-14
Residual 7.33698764801e-14
Residual 1.76193714267e-14

The eigenvalues returned by eig and eigs are completely
different.
Any idea ?

I am using
>>> scipy.__version__
'0.11.0.dev-600e81f'

Nils
```