Получение разных ответов от scipy.linalg.eig () - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть две матрицы R и F

R = array([[ 0.89148867,  4.58007519, 15.70287019],
   [ 5.1065172 , 14.26381865, 34.50113854],
   [18.51056089, 36.78238723, 72.21058193]])
F = array([[ 4.9348022, 12.3370055, 24.674011 ],
   [12.3370055, 19.7392088, 32.0762143],
   [24.674011 , 32.0762143, 44.4132198]])

Если я пытаюсь решить обобщенную проблему собственных значений, я получаю

#[R]{c}=e[F]{c}
eigvals,eigvecs = scipy.linalg.eig(R,b=F)
eigvals = 
array([[inf+0.j],
   [1.0583253e+14+0.j],
   [          inf+0.j]])

Но если я сначала превращу ее в стандартную проблему собственных значенийЯ получаю

#inv([F])[R]{c}=e[I]{c}
mat = scipy.linalg.inv(F) @ R
eigvals,eigvecs = scipy.linalg.eig(mat)
eigvals = 
array([[-5.06390561e+07+0.j],
   [ 5.06390548e+07+0.j],
   [ 2.91609260e-01+0.j]])

Почему это происходит?Разве они не должны давать одинаковые решения?

...