#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.