Я делаю некоторую работу с эрмитовыми матрицами. Первоначальная работа была сделана в Matlab, но сейчас я продолжаю работу в Python. Я использую numpy в python, но я получаю расхождения между собственными значениями, указанными в python, и в MatLab, может ли кто-нибудь сказать мне, что здесь происходит не так?
У меня есть больше примеров этой проблемы, но быстрый пример:
import numpy as np
mat = [[-1,1,-1],[1,-1,1],[-1,1,1]]
w,v = np.linalg.eig(mat)
дает
w = array([ -2.56155281e+00, 2.01878445e-16, 1.56155281e+00])
В Матлабе -
mat = [-1,1,-1;1,-1,1;-1,1,1]
eig(mat)
ans =
-2.5616
0
1.5616
Является ли этот MatLab неточным или ошибками Python? У меня есть много других, которые согласны со значениями, разногласия являются исключением в моем полном наборе данных. Любая помощь в объяснении этого вопроса была бы отличной.
Спасибо
Matalb
сformat long
:-2.561552812808829
,1.561552812808831
- person Anton Protopopov   schedule 05.02.2016eigh
вместоeig
. - person percusse   schedule 05.02.2016