Conflicting eigen vector outputs between Matlab and Numpy Conflicting eigen vector outputs between Matlab and Numpy numpy numpy

Conflicting eigen vector outputs between Matlab and Numpy


It's not immediately obvious, but the eigenvectors you are being returned are actually the same in both cases. Try the following:

>>> matlab_eigvec = np.array([[0.0896+0.6789j, 0.0953+0.7225j],...                           [-0.7288+0.j, 0.6848+0.j]])>>> >>> f1, f2 = matlab_eigvec.T # matlab eigenvectors>>> e1, e2 = eig_vec.T # numpy eigenvectors>>> f1/e1array([-0.13084653-0.99142531j, -0.13079065-0.99146862j])>>> f2/e2array([-0.13077050-0.99141326j, -0.13078845-0.99145198j])

So you can get the matlab eigenvectors by multiplying the numpy ones by -0.13-0.99j, i.e. they are colinear and therefore the same as far as eigenvectors are concerned.