Numpy выдает неправильные собственные векторы?

#numpy #eigenvector

#numpy #собственный вектор

Вопрос:

Ладно, это действительно странно. У меня есть эта эрмитова матрица, и по какой-то причине собственные векторы numpy на самом деле не являются собственными векторами! Что?!

 matrix = np. array([[ 5.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , 61.14109509 774.06193172j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  3.11819585 -39.47715852j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  5.   0.j  ,  -9.52578079 -11.43230285j, -9.52578079 -11.43230285j,  -9.52578079  11.43230285j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -244.56443004 597.56276449j, -8.63584441  -7.34967968j,  10.68293151  -3.8040208j , -2.04708711 -11.15370048j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , -12.47278593 -30.47570099j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  , -9.52578079  11.43230285j,   5.   0.j  ,  0.   0.j  ,  -9.52578079 -11.43230285j, -9.52578079  11.43230285j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  10.68293151   3.8040208j , -550.26995517 421.06359727j,   0.   0.j  , 10.68293151  -3.8040208j ,  -2.04708711 -11.15370048j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  -28.06376771 -21.47424346j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  , -9.52578079  11.43230285j,   0.   0.j  ,  5.   0.j  ,  -9.52578079 -11.43230285j,  0.   0.j  ,  -9.52578079  11.43230285j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -8.63584441   7.34967968j,  0.   0.j  ,  61.14109509 421.06359727j, -8.63584441  -7.34967968j,   0.   0.j  , -2.04708711 -11.15370048j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   3.11819585 -21.47424346j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  , -9.52578079 -11.43230285j,  -9.52578079  11.43230285j, -9.52578079  11.43230285j,   5.   0.j  , -9.52578079 -11.43230285j,  -9.52578079 -11.43230285j, -9.52578079  11.43230285j,   0.   0.j  ,  0.   0.j  ,  -2.04708711  11.15370048j, -8.63584441   7.34967968j,  10.68293151   3.8040208j , -244.56443004 244.56443004j,  -8.63584441  -7.34967968j, 10.68293151  -3.8040208j ,  -2.04708711 -11.15370048j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  -12.47278593 -12.47278593j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,  -9.52578079 -11.43230285j,  0.   0.j  ,  -9.52578079  11.43230285j,  5.   0.j  ,   0.   0.j  , -9.52578079 -11.43230285j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -2.04708711  11.15370048j,   0.   0.j  , 10.68293151   3.8040208j ,  -550.26995517  68.06526281j,  0.   0.j  ,  10.68293151  -3.8040208j ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , -28.06376771  -3.4713284j ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  , -9.52578079 -11.43230285j,  -9.52578079  11.43230285j,  0.   0.j  ,   5.   0.j  , -9.52578079 -11.43230285j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -2.04708711  11.15370048j, -8.63584441   7.34967968j,   0.   0.j  , 61.14109509  68.06526281j,  -8.63584441  -7.34967968j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  3.11819585  -3.4713284j ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -9.52578079 -11.43230285j, -9.52578079  11.43230285j,  -9.52578079  11.43230285j,  5.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -2.04708711  11.15370048j,  -8.63584441   7.34967968j, 10.68293151   3.8040208j ,  -244.56443004-108.43390441j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , -12.47278593   5.53012912j,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   5.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -550.26995517-284.93307164j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  -28.06376771  14.53158665j], [  61.14109509-774.06193172j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  5.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , 340.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  , -244.56443004-597.56276449j,  10.68293151  -3.8040208j , -8.63584441  -7.34967968j,  -2.04708711 -11.15370048j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   5.   0.j  ,  8.29952587  -8.790553j  ,   8.29952587  -8.790553j  ,  8.29952587   8.790553j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  340.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  , -8.63584441   7.34967968j,  -550.26995517-421.06359727j,  0.   0.j  ,  -8.63584441  -7.34967968j, -2.04708711 -11.15370048j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   8.29952587   8.790553j  ,  5.   0.j  ,   0.   0.j  ,  8.29952587  -8.790553j  ,   8.29952587   8.790553j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , 340.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  , 10.68293151   3.8040208j ,   0.   0.j  , 61.14109509-421.06359727j,  10.68293151  -3.8040208j ,  0.   0.j  ,  -2.04708711 -11.15370048j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   8.29952587   8.790553j  ,  0.   0.j  ,   5.   0.j  ,  8.29952587  -8.790553j  ,   0.   0.j  ,  8.29952587   8.790553j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  340.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  , -2.04708711  11.15370048j,  10.68293151   3.8040208j , -8.63584441   7.34967968j,  -244.56443004-244.56443004j, 10.68293151  -3.8040208j ,  -8.63584441  -7.34967968j, -2.04708711 -11.15370048j,   0.   0.j  ,  0.   0.j  ,   8.29952587  -8.790553j  ,  8.29952587   8.790553j  ,   8.29952587   8.790553j  ,  5.   0.j  ,   8.29952587  -8.790553j  ,  8.29952587  -8.790553j  ,   8.29952587   8.790553j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , 340.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,  -2.04708711  11.15370048j,  0.   0.j  ,  -8.63584441   7.34967968j, -550.26995517 -68.06526281j,   0.   0.j  , -8.63584441  -7.34967968j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  8.29952587  -8.790553j  ,   0.   0.j  ,  8.29952587   8.790553j  ,   5.   0.j  ,  0.   0.j  ,   8.29952587  -8.790553j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  340.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  , -2.04708711  11.15370048j,  10.68293151   3.8040208j ,  0.   0.j  ,  61.14109509 -68.06526281j, 10.68293151  -3.8040208j ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   8.29952587  -8.790553j  ,  8.29952587   8.790553j  ,   0.   0.j  ,  5.   0.j  ,   8.29952587  -8.790553j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , 340.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -2.04708711  11.15370048j, 10.68293151   3.8040208j ,  -8.63584441   7.34967968j, -244.56443004 108.43390441j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  8.29952587  -8.790553j  ,   8.29952587   8.790553j  ,  8.29952587   8.790553j  ,   5.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  340.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -550.26995517 284.93307164j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  5.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , 340.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  340.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -5.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , 61.14109509 774.06193172j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , 340.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -5.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -244.56443004 597.56276449j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  340.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -5.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -550.26995517 421.06359727j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , 340.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -5.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  61.14109509 421.06359727j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  340.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -5.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -244.56443004 244.56443004j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , 340.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -5.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -550.26995517  68.06526281j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  340.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -5.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , 61.14109509  68.06526281j,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , 340.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -5.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -244.56443004-108.43390441j,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  340.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -5.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -550.26995517-284.93307164j], [ 3.11819585  39.47715852j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  61.14109509-774.06193172j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -5.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  -12.47278593  30.47570099j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -244.56443004-597.56276449j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -5.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  , -28.06376771  21.47424346j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -550.26995517-421.06359727j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -5.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  3.11819585  21.47424346j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , 61.14109509-421.06359727j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -5.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , -12.47278593  12.47278593j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -244.56443004-244.56443004j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -5.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  -28.06376771   3.4713284j ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -550.26995517 -68.06526281j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -5.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   3.11819585   3.4713284j ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  61.14109509 -68.06526281j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -5.   0.j  ,   0.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  -12.47278593  -5.53012912j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -244.56443004 108.43390441j,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -5.   0.j  ,  0.   0.j  ], [ 0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  , -28.06376771 -14.53158665j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,  -550.26995517 284.93307164j,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  ,  0.   0.j  ,   0.   0.j  , -5.   0.j  ]])

testvec = LA.eigh(matrix)[1][:, 18]
testval = LA.eigh(matrix)[0][18]

print(testval)
print(np.dot(matrix, testvec)/testvec)
  

На выходе есть

 28.081038605585686
[ -183.43245272 1.74213886e 01j    28.08103861 7.25481867e-11j
    28.08103861 1.27643875e-11j    28.08103861-1.41589018e-12j
    28.08103861-6.60184127e-13j    28.08103861 6.75330988e-12j
    28.08103861 1.16790389e-14j    28.08103861-3.70296960e-12j
   236.26728922 3.14873632e 02j -1079.23472835-4.74317731e 01j
    28.08103861-9.92409189e-12j    28.08103861-3.35359500e-11j
    28.08103861-1.04000538e-13j    28.08103861 2.78132206e-13j
    28.08103861 4.88732504e-12j    28.08103861 3.98266910e-14j
    28.08103861-1.37676972e-12j   586.99433236-4.65807994e 02j
   -14.23315879 4.40331948e 03j    28.08103861 1.56567705e-09j
    28.08103861-4.39930895e-10j    28.08103861-7.51553075e-12j
    28.08103861 1.92682082e-11j    28.08103861 9.93263280e-11j
    28.08103861 3.95907444e-13j    28.08103861-6.75700975e-12j
  -118.22531925 5.61652861e 01j    -2.79796252-1.38935399e 02j
    28.08103861 3.03407400e-11j    28.08103861 5.30616379e-10j
    28.08103861 3.10058409e-12j    28.08103861-5.18881898e-13j
    28.08103861 3.52468153e-12j    28.08103861-4.98108172e-14j
    28.08103861 3.96217802e-13j  -238.25990447-8.91950754e 02j]
  

Какой в этом вообще есть смысл? Некоторые компоненты обеспечивают это правильно, а другие нет? В чем здесь проблема?

Комментарии:

1. Похоже, что это проблема с / , потому что, если вы попытаетесь np.isclose(np.dot(matrix, testvec), testval*testvec) , он вернет, что они равны

Ответ №1:

Ваша проблема возникает из-за точности чисел, близких к 0, testvec будет:

 array([-3.59900540e-19 0.00000000e 00j, -5.17637105e-04-2.76467148e-04j,
       -2.15232299e-04 2.40919102e-04j,  8.68903778e-03 1.58504512e-02j,
        1.31080038e-02 2.40391043e-02j, -7.77501222e-04-1.52668092e-03j,
       -2.73682736e-01-6.93085398e-01j,  7.51273340e-03 1.59428750e-02j,
        2.46330734e-16-7.52436308e-17j,  5.52080470e-20 2.96032521e-19j,
       -7.05446819e-04-1.48378619e-04j, -6.84977730e-05-4.20362420e-04j,
       -1.49592643e-02 2.24449546e-02j, -3.65064949e-02 3.22827890e-03j,
       -4.67427537e-04-1.08629775e-03j, -1.42698210e-01-3.57459915e-02j,
        3.32809901e-02-6.92791416e-03j, -4.41354873e-17-2.80018652e-17j,
        5.42101086e-20-2.16840434e-19j,  1.01201785e-05-2.46242545e-05j,
       -7.40223595e-06-3.96792638e-06j,  1.59380630e-03-7.50085850e-04j,
        2.22688637e-03 3.68340275e-04j,  7.47964828e-05 1.05972530e-04j,
        1.78419605e-01 6.68711013e-02j, -4.96084176e-03 2.62909133e-04j,
        3.14618038e-17-1.33145850e-16j,  1.19770459e-18 4.40457133e-18j,
       -6.97579774e-05-3.73394056e-04j,  9.88225468e-05-1.83875899e-04j,
       -1.60717176e-02-1.45382244e-02j, -2.77458699e-02-2.33076540e-02j,
       -2.06341303e-04-7.03094158e-04j,  5.14279493e-01-3.37559644e-01j,
        3.56457556e-02-2.54713924e-02j,  7.10394311e-17 5.07212415e-17j])
  

Если присмотреться, значения, которые отличаются, находятся в записях, близких к 0, где обычно возникают проблемы с точностью при делении.

Когда вы это делаете print(np.dot(matrix, testvec)/testvec) , вы предполагаете, что ни одна из записей testvec не равна 0 (или близка). Если вы попробуете этот код:

 np.isclose(np.dot(matrix, testvec), testval*testvec)
  

Вы увидите, что они действительно являются собственными значениями и eigenvectors.