В настоящее время я пытаюсь найти собственные значения матрицы H. Я пробовал использовать как numpy.linalg.eig, так и scipy.linalg.eig, хотя оба, по-видимому, используют один и тот же базовый метод.
Проблема в том, что моя матрица H чисто реальна, а собственные значения должны быть действительными и положительными.
Но методы scipy и numpy возвращают сложные собственные значения, как положительные, так и отрицательные, которые, поскольку они сложны и отрицательны, не могут быть правильными. ИЗМЕНИТЬ Я знаю, что собственные значения должны быть действительными, поскольку матрица представляет собой физическую систему, в которой комплексное собственное значение не имеет значения \ end EDIT
Кто-нибудь знает какой-либо другой способ получить правильные, чисто реальные собственные значения матрицы в python?
Спасибо за уделенное время! РЕДАКТИРОВАТЬ 3: Скорректированная матрица H дает чисто реальные собственные значения, поэтому моя воображаемая проблема исчезает. Теперь мне просто нужно выяснить, почему мои собственные значения слишком велики, но это другой вопрос!
Большое спасибо всем, кто откликнулся!
Скорректированная матрица H представлена ниже для интереса. Обратите внимание, что моя проблема: собственные значения слишком велики. Я ожидал значений в диапазоне 0-1. Не ~ 10 ^ 50!
ИСПРАВЛЕННЫЕ СОБСТВЕННЫЕ ЗНАЧЕНИЯ МАТРИЦЫ H:
[ -1.56079757e-02 -6.70247389e+59 -1.31298702e+56 -3.64404066e+52
-9.70803701e+48 -1.85917866e+45 -1.65895844e+41 -5.61503911e+39
-7.19768059e+36 -4.58657021e+32 -4.98763491e+28 -3.08561491e+27
-3.63383072e+25 -2.58033979e+25 -3.45930959e+23 -2.13272853e+18
-4.25175990e+21 -1.93387466e+22]
ИСПРАВЛЕННАЯ МАТРИЦА H:
[[ -1.56079757e-02 -1.96247112e-02 -2.02799782e-02 -1.99695485e-02
-1.93678897e-02 -1.86944625e-02 -1.30222438e+04 -3.54051869e+05
-4.91571514e+06 -4.51159690e+07 -3.09207669e+08 -1.69913322e+09
-2.76231241e+15 -4.29262866e+17 -3.76558847e+19 -2.27013318e+21
-1.03308991e+23 -3.75607123e+24]
[ -1.96247112e-02 -3.16659228e-02 -3.73018152e-02 -3.99083810e-02
-4.09801356e-02 -4.12397330e-02 -9.25855152e+03 -2.52585509e+05
-3.52145205e+06 -3.24749687e+07 -2.23781425e+08 -1.23712026e+09
-1.95621015e+15 -3.04176626e+17 -2.67015928e+19 -1.61101326e+21
-7.33788197e+22 -2.67049818e+24]
[ -2.02799782e-02 -3.73018152e-02 -4.77923287e-02 -5.41249519e-02
-5.79464638e-02 -6.01988341e-02 -7.57318263e+03 -2.06839231e+05
-2.88760361e+06 -2.66717677e+07 -1.84121508e+08 -1.01989311e+09
-1.59803489e+15 -2.48531861e+17 -2.18219073e+19 -1.31694511e+21
-6.00020265e+22 -2.18437720e+24]
[ -1.99695485e-02 -3.99083810e-02 -5.41249519e-02 -6.39296468e-02
-7.06496425e-02 -7.52593492e-02 -6.56444085e+03 -1.79388958e+05
-2.50607920e+06 -2.31660126e+07 -1.60063118e+08 -8.87505427e+08
-1.38428190e+15 -2.15309349e+17 -1.89070134e+19 -1.14117996e+21
-5.20014426e+22 -1.89341950e+24]
[ -1.93678897e-02 -4.09801356e-02 -5.79464638e-02 -7.06496425e-02
-8.00703376e-02 -8.70367786e-02 -5.87456014e+03 -1.60590211e+05
-2.24436978e+06 -2.07565818e+07 -1.43492007e+08 -7.96094702e+08
-1.23832305e+15 -1.92618393e+17 -1.69155984e+19 -1.02106226e+21
-4.65319430e+22 -1.69443289e+24]
[ -1.86944625e-02 -4.12397330e-02 -6.01988341e-02 -7.52593492e-02
-8.70367786e-02 -9.62124393e-02 -5.36462746e+03 -1.46683176e+05
-2.05056240e+06 -1.89701536e+07 -1.31188910e+08 -7.28124191e+08
-1.13054072e+15 -1.75859951e+17 -1.54445848e+19 -9.32316767e+20
-4.24900807e+22 -1.54734986e+24]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 -4.12478326e+18 -5.45644679e+19
-2.90876009e+20 -8.98307694e+20 -1.93571800e+21 -3.25655840e+21
-1.23009840e+30 -2.34880436e+32 -2.19696316e+34 -1.25767256e+36
-4.92737192e+37 -1.41676103e+39]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 -5.45644679e+19 -1.18364260e+21
-9.55137274e+21 -4.18185914e+22 -1.20837111e+23 -2.59872572e+23
-4.88154308e+30 -1.23670123e+33 -1.52633071e+35 -1.14675488e+37
-5.86768809e+38 -2.19383952e+40]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 -2.90876009e+20 -9.55137274e+21
-1.10203112e+23 -6.57480361e+23 -2.48279601e+24 -6.72600978e+24
-9.55655956e+30 -2.93055192e+33 -4.39290725e+35 -4.01427998e+37
-2.49882367e+39 -1.13605487e+41]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 -8.98307694e+20 -4.18185914e+22
-6.57480361e+23 -5.15935422e+24 -2.48241611e+25 -8.32646595e+25
-1.32363927e+31 -4.60841402e+33 -7.90547208e+35 -8.31277603e+37
-5.97680290e+39 -3.14644094e+41]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 -1.93571800e+21 -1.20837111e+23
-2.48279601e+24 -2.48241611e+25 -1.48582210e+26 -6.06263231e+26
-1.52615891e+31 -5.77316621e+33 -1.08616056e+36 -1.26177499e+38
-1.00789238e+40 -5.92030497e+41]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 -3.25655840e+21 -2.59872572e+23
-6.72600978e+24 -8.32646595e+25 -6.06263231e+26 -2.95791640e+27
-1.59124215e+31 -6.34774909e+33 -1.27102306e+36 -1.58346849e+38
-1.36500133e+40 -8.69716304e+41]
[ -2.76231241e+15 -1.95621015e+15 -1.59803489e+15 -1.38428190e+15
-1.23832305e+15 -1.13054072e+15 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-3.91170589e+42 -3.71477021e+44 -1.55100113e+46 -3.65410576e+47
-5.53824601e+48 -5.87586247e+49]
[ -4.29262866e+17 -3.04176626e+17 -2.48531861e+17 -2.15309349e+17
-1.92618393e+17 -1.75859951e+17 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-3.71477021e+44 -5.04566596e+46 -2.92377802e+48 -9.33903419e+49
-1.88272072e+51 -2.61414916e+52]
[ -3.76558847e+19 -2.67015928e+19 -2.18219073e+19 -1.89070134e+19
-1.69155984e+19 -1.54445848e+19 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-1.55100113e+46 -2.92377802e+48 -2.28558880e+50 -9.63567387e+51
-2.51888438e+53 -4.46829479e+54]
[ -2.27013318e+21 -1.61101326e+21 -1.31694511e+21 -1.14117996e+21
-1.02106226e+21 -9.32316767e+20 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-3.65410576e+47 -9.33903419e+49 -9.63567387e+51 -5.25195965e+53
-1.74576666e+55 -3.88366439e+56]
[ -1.03308991e+23 -7.33788197e+22 -6.00020265e+22 -5.20014426e+22
-4.65319430e+22 -4.24900807e+22 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-5.53824601e+48 -1.88272072e+51 -2.51888438e+53 -1.74576666e+55
-7.26381158e+56 -1.99648815e+58]
[ -3.75607123e+24 -2.67049818e+24 -2.18437720e+24 -1.89341950e+24
-1.69443289e+24 -1.54734986e+24 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-5.87586247e+49 -2.61414916e+52 -4.46829479e+54 -3.88366439e+56
-1.99648815e+58 -6.69651817e+59]]
Я оставил предыдущую неправильную матрицу H, чтобы уже существующие ответы имели смысл для будущих читателей.
РЕДАКТИРОВАТЬ 2: старая матрица H, которая определенно неверна.
[[ 9.84292024e+03 -8.31470427e+03 1.28883548e+04 -1.42234052e+03
6.39075781e+03 1.68134522e+03 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-5.93837816e+16 6.38322749e+16 -6.85843186e+16 5.75338966e+16
-4.88603241e+16 3.50805052e+16]
[ -8.31470427e+03 1.16557521e+05 -3.57981876e+05 7.96363898e+05
-1.49026732e+06 2.53900589e+06 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
8.06918956e+18 -3.72079304e+19 1.23800418e+20 -3.42505937e+20
8.36989008e+20 -1.86726751e+21]
[ 1.28883548e+04 -3.57981876e+05 3.15391321e+06 -1.63653726e+07
6.55556033e+07 -2.25027001e+08 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-2.29647856e+20 2.23060743e+21 -1.47751020e+22 7.86504336e+22
-3.61027130e+23 1.48623808e+24]
[ -1.42234052e+03 7.96363898e+05 -1.63653726e+07 1.68187967e+08
-1.22007429e+09 7.18684022e+09 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
3.46309077e+21 -5.84715936e+22 6.46859079e+23 -5.59189865e+24
4.08308120e+25 -2.63166392e+26]
[ 6.39075781e+03 -1.49026732e+06 6.55556033e+07 -1.22007429e+09
1.47164022e+10 -1.36810088e+11 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
-3.69586675e+22 9.89735934e+23 -1.67505077e+25 2.15859810e+26
-2.30442140e+27 2.13906412e+28]
[ 1.68134522e+03 2.53900589e+06 -2.25027001e+08 7.18684022e+09
-1.36810088e+11 1.90724566e+12 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
3.17341100e+23 -1.27716724e+25 3.13774985e+26 -5.72503211e+27
8.49214835e+28 -1.07936569e+30]
[ -2.62366128e+07 3.12867102e+08 -2.07586348e+09 9.55718390e+09
-3.58688215e+10 1.18206299e+11 -3.72545099e+19 3.55377485e+20
-2.19797302e+21 1.06820421e+22 -4.43482421e+22 1.64613799e+23
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 6.21899934e+06 -1.35300269e+09 2.25199661e+10 -2.08147670e+11
1.41978312e+12 -8.03720030e+12 3.55377485e+20 -6.92933885e+21
7.86285194e+22 -6.60223225e+23 4.55617308e+24 -2.73627888e+25
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ -2.10320449e+07 4.11734924e+09 -1.49402973e+11 2.51974540e+12
-2.86573004e+13 2.56306446e+14 -2.19797302e+21 7.86285194e+22
-1.49349605e+24 1.98682041e+25 -2.09455082e+26 1.87262719e+27
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 2.94574146e+06 -1.02367345e+10 7.58502833e+11 -2.20591701e+13
3.96780330e+14 -5.32688366e+15 1.06820421e+22 -6.60223225e+23
1.98682041e+25 -3.97295506e+26 6.07807050e+27 -7.69005025e+28
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ -1.34143013e+07 2.23461195e+10 -3.24369808e+12 1.56693459e+14
-4.30207139e+15 8.37537551e+16 -4.43482421e+22 4.55617308e+24
-2.09455082e+26 6.07807050e+27 -1.30367761e+29 2.25611610e+30
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ -1.29818367e+06 -4.45010813e+10 1.22995908e+13 -9.61118583e+14
3.92675368e+16 -1.08141277e+18 1.64613799e+23 -2.73627888e+25
1.87262719e+27 -7.69005025e+28 2.25611610e+30 -5.21172115e+31
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ -5.93837816e+16 8.06918956e+18 -2.29647856e+20 3.46309077e+21
-3.69586675e+22 3.17341100e+23 -4.12843622e+30 1.31023908e+32
-2.32666430e+33 2.96546578e+34 -3.03538906e+35 2.65606764e+36
-3.91170589e+42 9.60158418e+43 -1.53011091e+45 1.88717441e+46
-1.94862667e+47 1.76215269e+48]
[ 6.38322749e+16 -3.72079304e+19 2.23060743e+21 -5.84715936e+22
9.89735934e+23 -1.27716724e+25 3.81005492e+31 -2.11434722e+33
5.97475670e+34 -1.14689052e+36 1.70519806e+37 -2.11260012e+38
9.60158418e+43 -3.55965236e+45 8.25594136e+46 -1.44373334e+48
2.07304224e+49 -2.56816531e+50]
[ -6.85843186e+16 1.23800418e+20 -1.47751020e+22 6.46859079e+23
-1.67505077e+25 3.13774985e+26 -2.44128687e+32 2.26787992e+34
-9.81982973e+35 2.73945925e+37 -5.71489855e+38 9.68877560e+39
-1.53011091e+45 8.25594136e+46 -2.68951294e+48 6.44111112e+49
-1.24291248e+51 2.03914940e+52]
[ 5.75338966e+16 -3.42505937e+20 7.86504336e+22 -5.59189865e+24
2.15859810e+26 -5.72503211e+27 1.26953404e+33 -1.91719765e+35
1.23852494e+37 -4.89510985e+38 1.39768692e+40 -3.16418412e+41
1.88717441e+46 -1.44373334e+48 6.44111112e+49 -2.06086355e+51
5.21505047e+52 -1.10591734e+54]
[ -4.88603241e+16 8.36989008e+20 -3.61027130e+23 4.08308120e+25
-2.30442140e+27 8.49214835e+28 -5.72744451e+33 1.37649297e+36
-1.30066841e+38 7.14559647e+39 -2.74085484e+41 8.13459136e+42
-1.94862667e+47 2.07304224e+49 -1.24291248e+51 5.21505047e+52
-1.69908728e+54 4.57315759e+55]
[ 3.50805052e+16 -1.86726751e+21 1.48623808e+24 -2.63166392e+26
2.13906412e+28 -1.07936569e+30 2.32655148e+34 -8.75599541e+36
1.19185355e+39 -8.96773338e+40 4.55433688e+42 -1.74680817e+44
1.76215269e+48 -2.56816531e+50 2.03914940e+52 -1.10591734e+54
4.57315759e+55 -1.54023048e+57]]
0
до10**57
, мне трудно поверить, что эта матрица имеет только положительные собственные значения. Даже если он в принципе обладает этим свойством, дикий диапазон значений элементов предполагает числовые проблемы как при выводе матричных элементов, так и в последующем процессе поиска собственных значений. - person Stelios   schedule 13.10.2016