In [1]:
import numpy as np
import numpy.linalg as LA
import matplotlib.pyplot as plt
from pandas import *
%matplotlib inline

In [24]:
def Arnodi_algo(A, b, k):
    N = A.shape[0]
    Q = np.zeros((N, k), dtype='complex')
    H = np.zeros((k, k), dtype='complex')
    Q[:, [0]] = b / LA.norm(b)
    
    for j in range(k - 1):
        r = A.dot(Q[:,[j]])
        for i in range(j + 1):
            H[i][j] = Q[:, [i]].T.conj().dot(r)[0][0]
            r -= Q[:, [i]] * H[i, j]
        H[j + 1, j] = LA.norm(r)
        Q[:, [j + 1]] = r / H[j + 1, j]
    for i in range(k):
        H[i, k - 1] = Q[:, [i]].T.conj().dot(r)[0][0]
        r -= Q[:, [i]] * H[i, k - 1]
    return Q, H

def Lanczos_algo(A, b, k):
    N = A.shape[0]
    Q = np.zeros((N, k), dtype='complex')
    alpha = np.zeros(k)
    beta = np.zeros(k - 1)
    Q[:, [0]] = b / LA.norm(b)
    r = np.dot(A, Q[:,[0]])
    for i in range(k - 1):
        alpha[i] = np.dot(Q[:, [i]].T.conj(), r)[0][0].real
        r -= Q[:, [i]] * alpha[i]
        beta[i] = LA.norm(r)
        Q[:, [i + 1]] = r / beta[i]
        r = np.dot(A, Q[:,[i + 1]]) - beta[i] * Q[:,[i]]
    alpha[k - 1] = np.dot(Q[:, [k - 1]].T.conj(), r)[0][0].real
    return Q, alpha, beta

In [52]:
np.random.seed(13)
N = 200
k = 200
A = np.random.randn(N, N) + 1j * np.random.randn(N, N)
A = (A + A.T.conj()) / np.sqrt(2)
b = (np.random.randn(N, 1) + 1j * np.random.randn(N, 1)) / np.sqrt(2)

In [53]:
Q_ar, H_ar = Arnodi_algo(A, b, k)
my_id_ar = np.dot(Q_ar.T.conj(), Q_ar)
my_id_ar[np.absolute(my_id_ar) < 0.0001] = 0
DataFrame(np.absolute(my_id_ar));

In [54]:
Q_lan, alpha, beta = Lanczos_algo(A, b, k)
H_lan = np.diag(beta, -1) + np.diag(alpha) + np.diag(beta, 1)
my_id_lan = np.dot(Q_lan.T.conj(), Q_lan)
my_id_lan[np.absolute(my_id_lan) < 0.0001] = 0
DataFrame(np.absolute(my_id_lan))


Out[54]:
0 1 2 3 4 5 6 7 8 9 ... 190 191 192 193 194 195 196 197 198 199
0 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.048876 0.051501 0.032076 0.022325 0.027048 0.022913 0.010528 0.044620 0.010169 0.026889
1 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.094683 0.084447 0.057138 0.052885 0.023234 0.026917 0.051185 0.042959 0.049637 0.074596
2 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.117124 0.120718 0.053114 0.045512 0.044041 0.040501 0.017365 0.072031 0.034283 0.062013
3 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.142556 0.126116 0.072125 0.033802 0.034569 0.021921 0.042324 0.050105 0.054373 0.085240
4 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.138736 0.135918 0.049075 0.041294 0.017081 0.037629 0.032020 0.080533 0.069115 0.091253
5 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 ... 0.137339 0.136455 0.056258 0.043467 0.044007 0.013469 0.073805 0.104404 0.096779 0.097101
6 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 ... 0.120759 0.112753 0.076145 0.030102 0.048679 0.063794 0.049770 0.137876 0.085958 0.105066
7 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ... 0.073865 0.083645 0.028233 0.055195 0.040582 0.029486 0.086880 0.113966 0.100678 0.086556
8 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 ... 0.029788 0.030390 0.029664 0.012227 0.036638 0.047369 0.037590 0.092517 0.058652 0.068466
9 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 ... 0.016707 0.021401 0.007554 0.012761 0.024879 0.024577 0.019205 0.032677 0.028119 0.031671
10 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.064258 0.050346 0.050433 0.021796 0.023842 0.015153 0.021078 0.038802 0.009251 0.007206
11 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.094779 0.106182 0.030521 0.057581 0.025549 0.019529 0.055868 0.066944 0.055743 0.040688
12 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.120632 0.112269 0.072717 0.025691 0.050014 0.058273 0.037753 0.109880 0.062917 0.069213
13 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.138286 0.132240 0.062573 0.038921 0.057310 0.039224 0.070276 0.089242 0.082790 0.079077
14 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.141353 0.146644 0.044857 0.061475 0.030248 0.054604 0.037748 0.074299 0.061849 0.088456
15 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.140317 0.122516 0.087822 0.028675 0.049472 0.019235 0.032849 0.061208 0.054345 0.078560
16 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.115658 0.126893 0.054507 0.067286 0.028810 0.025493 0.031177 0.072239 0.043024 0.076895
17 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.106380 0.089493 0.068803 0.055162 0.033003 0.031383 0.049908 0.047534 0.048297 0.074623
18 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.070964 0.070475 0.027876 0.025415 0.047308 0.048809 0.014092 0.040340 0.028530 0.044308
19 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.032255 0.037136 0.020097 0.014972 0.042666 0.040089 0.015876 0.039525 0.017201 0.018526
20 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.022992 0.024670 0.052774 0.054546 0.014646 0.010365 0.042846 0.062397 0.027670 0.019335
21 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.057689 0.053734 0.067036 0.068776 0.021529 0.012042 0.050432 0.068558 0.040013 0.048701
22 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.081899 0.091812 0.053630 0.051263 0.056792 0.047473 0.014227 0.071232 0.032984 0.062456
23 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.117331 0.102023 0.058265 0.038832 0.053493 0.053871 0.049918 0.053857 0.057180 0.083673
24 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.134213 0.119137 0.057401 0.043321 0.037249 0.056033 0.058918 0.101794 0.086489 0.091006
25 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.145983 0.153884 0.053370 0.059253 0.046679 0.026879 0.078627 0.139009 0.098951 0.097557
26 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.162049 0.138335 0.110355 0.044410 0.047145 0.052066 0.075859 0.164756 0.111129 0.097593
27 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.147168 0.156781 0.052737 0.086604 0.040243 0.035317 0.105628 0.153093 0.118441 0.103613
28 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.140712 0.137019 0.070521 0.036687 0.067421 0.076811 0.047562 0.117557 0.081651 0.097898
29 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.135709 0.121499 0.082969 0.010877 0.080452 0.065323 0.043407 0.065529 0.061635 0.073913
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
170 0.010418 0.072659 0.025102 0.077611 0.030187 0.040066 0.032511 0.046636 0.049486 0.042540 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
171 0.072462 0.042231 0.136637 0.062100 0.094728 0.079603 0.099631 0.076004 0.094265 0.076418 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
172 0.034957 0.177807 0.085379 0.183270 0.114535 0.137104 0.134504 0.162996 0.117896 0.114345 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
173 0.112950 0.095942 0.216244 0.120187 0.152160 0.118311 0.150727 0.147639 0.161021 0.140683 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
174 0.094075 0.155537 0.175512 0.171943 0.113194 0.120395 0.149899 0.143521 0.186392 0.108579 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
175 0.033450 0.148374 0.091233 0.144173 0.133225 0.144634 0.148381 0.201013 0.110609 0.155606 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
176 0.072440 0.061413 0.130568 0.091666 0.107597 0.134000 0.175673 0.123560 0.162721 0.095143 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
177 0.014625 0.047224 0.028776 0.050114 0.031176 0.067415 0.038580 0.090267 0.018561 0.076031 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
178 0.001369 0.010369 0.012780 0.006689 0.046837 0.042380 0.085377 0.069761 0.097840 0.056252 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
179 0.010615 0.025810 0.016951 0.035849 0.054249 0.091833 0.104485 0.128051 0.113774 0.115228 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
180 0.044470 0.054134 0.069715 0.039410 0.048917 0.083399 0.090731 0.091342 0.082089 0.055225 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
181 0.062859 0.124087 0.092046 0.086028 0.073826 0.086264 0.135113 0.097559 0.057602 0.071684 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
182 0.074826 0.093200 0.126141 0.078972 0.076193 0.126569 0.100548 0.101959 0.071499 0.053618 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
183 0.037143 0.076164 0.066782 0.073044 0.074902 0.062845 0.088154 0.060414 0.038413 0.044914 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
184 0.009576 0.025451 0.018372 0.030134 0.024393 0.030804 0.033411 0.021028 0.025857 0.013041 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
185 0.019030 0.050815 0.031379 0.028087 0.016134 0.040624 0.021724 0.052674 0.006739 0.012484 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
186 0.072811 0.064130 0.112068 0.040298 0.026418 0.049645 0.109042 0.043884 0.059743 0.015973 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
187 0.053554 0.139731 0.080483 0.090296 0.036917 0.087843 0.084833 0.112100 0.024440 0.024473 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
188 0.057274 0.055950 0.092958 0.044129 0.038786 0.052556 0.077787 0.042750 0.040588 0.014116 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
189 0.024806 0.054645 0.056821 0.070817 0.064450 0.059397 0.056951 0.031274 0.015378 0.012218 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
190 0.048876 0.094683 0.117124 0.142556 0.138736 0.137339 0.120759 0.073865 0.029788 0.016707 ... 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
191 0.051501 0.084447 0.120718 0.126116 0.135918 0.136455 0.112753 0.083645 0.030390 0.021401 ... 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
192 0.032076 0.057138 0.053114 0.072125 0.049075 0.056258 0.076145 0.028233 0.029664 0.007554 ... 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
193 0.022325 0.052885 0.045512 0.033802 0.041294 0.043467 0.030102 0.055195 0.012227 0.012761 ... 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
194 0.027048 0.023234 0.044041 0.034569 0.017081 0.044007 0.048679 0.040582 0.036638 0.024879 ... 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000
195 0.022913 0.026917 0.040501 0.021921 0.037629 0.013469 0.063794 0.029486 0.047369 0.024577 ... 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000
196 0.010528 0.051185 0.017365 0.042324 0.032020 0.073805 0.049770 0.086880 0.037590 0.019205 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000
197 0.044620 0.042959 0.072031 0.050105 0.080533 0.104404 0.137876 0.113966 0.092517 0.032677 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000
198 0.010169 0.049637 0.034283 0.054373 0.069115 0.096779 0.085958 0.100678 0.058652 0.028119 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000
199 0.026889 0.074596 0.062013 0.085240 0.091253 0.097101 0.105066 0.086556 0.068466 0.031671 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000

200 rows × 200 columns


In [42]:
lam_true = LA.eigvalsh(A)
lam_ar = LA.eigvals(H_ar)
lam_lan = LA.eigvals(H_lan)

In [43]:
plt.plot(lam_true, 'x')
plt.plot(sorted(lam_ar.real))
plt.plot(sorted(lam_lan.real))


Out[43]:
[<matplotlib.lines.Line2D at 0x7fdfe7eaef60>]

In [67]:
A = np.random.randn(N, N) + 1j * np.random.randn(N, N)
A = (A + A.T.conj()) / np.sqrt(2)
b = (np.random.randn(N, 1) + 1j * np.random.randn(N, 1)) / np.sqrt(2)

x = np.random.random(A.shape)

A[(x + x.T) / 2 + np.eye(N) < .9] = 0

In [68]:
Q_ar, H_ar = Arnodi_algo(A, b, k)
my_id_ar = np.dot(Q_ar.T.conj(), Q_ar)
my_id_ar[np.absolute(my_id_ar) < 0.0001] = 0
DataFrame(np.absolute(my_id_ar));

In [69]:
Q_lan, alpha, beta = Lanczos_algo(A, b, k)
H_lan = np.diag(beta, -1) + np.diag(alpha) + np.diag(beta, 1)
my_id_lan = np.dot(Q_lan.T.conj(), Q_lan)
my_id_lan[np.absolute(my_id_lan) < 0.0001] = 0
DataFrame(np.absolute(my_id_lan))


Out[69]:
0 1 2 3 4 5 6 7 8 9 ... 190 191 192 193 194 195 196 197 198 199
0 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.107836 0.061417 0.047937 0.036694 0.056060 0.083224 0.011719 0.092384 0.034241 0.039419
1 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.176951 0.118652 0.063672 0.103140 0.041583 0.074300 0.141397 0.081685 0.079113 0.063973
2 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.210784 0.140494 0.090588 0.069789 0.051513 0.070437 0.035224 0.107892 0.051390 0.052411
3 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.173940 0.132779 0.101060 0.079360 0.040994 0.047296 0.014276 0.034819 0.006145 0.024858
4 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.126343 0.118945 0.131751 0.123777 0.080261 0.111139 0.020493 0.087810 0.020636 0.035326
5 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 ... 0.106989 0.097692 0.162939 0.189159 0.067236 0.043811 0.129708 0.102514 0.078629 0.053958
6 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 ... 0.093237 0.082903 0.167666 0.199100 0.066353 0.035247 0.105526 0.122198 0.082098 0.040374
7 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ... 0.065910 0.065334 0.136035 0.148085 0.093851 0.105865 0.029938 0.102837 0.028688 0.048710
8 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 ... 0.039729 0.039059 0.068533 0.076173 0.069054 0.113699 0.052462 0.057509 0.012628 0.027214
9 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 ... 0.056908 0.032009 0.040164 0.065738 0.016070 0.015506 0.104830 0.095057 0.066987 0.017816
10 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.073132 0.018797 0.071805 0.110691 0.025620 0.023161 0.117100 0.108868 0.082142 0.004385
11 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.061444 0.030168 0.101255 0.112762 0.086520 0.107514 0.023262 0.110332 0.030989 0.049870
12 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.050108 0.058369 0.111713 0.127920 0.062809 0.083025 0.050644 0.042450 0.016531 0.039574
13 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.092234 0.095015 0.118353 0.122857 0.041885 0.030288 0.065383 0.076784 0.050787 0.028203
14 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.141429 0.115799 0.103286 0.109518 0.046904 0.047579 0.125467 0.085404 0.073523 0.031390
15 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.169314 0.111946 0.085177 0.056049 0.075176 0.110366 0.002171 0.110998 0.031263 0.043088
16 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.142614 0.097750 0.039605 0.047559 0.011036 0.031594 0.036764 0.023295 0.020624 0.037821
17 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.087713 0.054423 0.012181 0.021310 0.032471 0.081877 0.025339 0.084221 0.044095 0.055512
18 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.042430 0.010141 0.028168 0.071694 0.067068 0.074761 0.164215 0.100514 0.085628 0.074486
19 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.071424 0.033645 0.061514 0.035550 0.083560 0.141667 0.018533 0.144953 0.056131 0.063758
20 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.112653 0.083630 0.042271 0.062141 0.028618 0.059741 0.071575 0.021683 0.038216 0.049202
21 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.165445 0.113776 0.055377 0.033701 0.006117 0.039123 0.021757 0.051211 0.016697 0.029057
22 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.177239 0.124744 0.076214 0.060676 0.068194 0.068553 0.137682 0.074837 0.069505 0.010791
23 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.150580 0.125722 0.105404 0.085449 0.075761 0.141762 0.022789 0.145286 0.054143 0.028130
24 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.122927 0.100621 0.123121 0.125945 0.057563 0.047730 0.091893 0.052340 0.048144 0.036795
25 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.081393 0.087692 0.127795 0.144274 0.044514 0.041986 0.018616 0.031463 0.010101 0.038318
26 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.047472 0.067642 0.118036 0.130692 0.084805 0.065416 0.116347 0.056817 0.063146 0.043487
27 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.047898 0.054315 0.111342 0.114841 0.077859 0.135389 0.050611 0.156816 0.051629 0.080440
28 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.041812 0.055769 0.075581 0.101989 0.051839 0.061201 0.138141 0.095431 0.089768 0.082439
29 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.074163 0.045622 0.060118 0.051252 0.039434 0.048121 0.036398 0.082288 0.043136 0.133274
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
170 0.009658 0.136893 0.079077 0.186036 0.176165 0.130035 0.220431 0.074063 0.160552 0.077693 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
171 0.102624 0.040860 0.276758 0.210901 0.263452 0.332791 0.130793 0.285997 0.067233 0.150137 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
172 0.035337 0.205939 0.042962 0.243851 0.215871 0.096322 0.297769 0.056288 0.187172 0.028680 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
173 0.072180 0.035568 0.170587 0.107946 0.106665 0.164850 0.077583 0.129583 0.102151 0.049132 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
174 0.051819 0.105335 0.162125 0.140031 0.156417 0.074213 0.056857 0.145034 0.018162 0.146158 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
175 0.022905 0.170232 0.079393 0.209998 0.088333 0.103341 0.147926 0.058070 0.186843 0.040386 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
176 0.096150 0.061570 0.217536 0.093251 0.153573 0.148968 0.124733 0.174579 0.100938 0.171709 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
177 0.011211 0.132074 0.041000 0.119569 0.086488 0.064684 0.108607 0.074742 0.079868 0.092002 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
178 0.062808 0.085447 0.114391 0.028312 0.004991 0.099856 0.017238 0.026822 0.069056 0.058016 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
179 0.075444 0.102551 0.116905 0.057383 0.056411 0.033950 0.096518 0.046447 0.048936 0.060806 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
180 0.041410 0.124493 0.074112 0.060687 0.057463 0.081647 0.090280 0.061671 0.025875 0.050204 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
181 0.050286 0.044863 0.110592 0.092256 0.065112 0.114074 0.031699 0.048517 0.036938 0.100502 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
182 0.007171 0.053002 0.053962 0.106740 0.133470 0.093762 0.092691 0.018352 0.067067 0.111255 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
183 0.014707 0.007115 0.026282 0.049490 0.066478 0.065806 0.037658 0.015273 0.046672 0.069219 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
184 0.005117 0.042096 0.014337 0.016379 0.027025 0.053798 0.015693 0.008683 0.036336 0.045989 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
185 0.054979 0.017393 0.062828 0.030598 0.061416 0.019305 0.062556 0.071990 0.039830 0.011104 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
186 0.020710 0.104958 0.015847 0.021966 0.045209 0.097043 0.051981 0.017708 0.081354 0.072065 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
187 0.065512 0.072950 0.058688 0.032940 0.094197 0.043526 0.021975 0.085637 0.093550 0.043686 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
188 0.044437 0.032895 0.052348 0.039127 0.041684 0.042107 0.011051 0.041155 0.057349 0.025056 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
189 0.047567 0.117955 0.104552 0.085544 0.073887 0.059223 0.051824 0.029855 0.017743 0.047397 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
190 0.107836 0.176951 0.210784 0.173940 0.126343 0.106989 0.093237 0.065910 0.039729 0.056908 ... 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
191 0.061417 0.118652 0.140494 0.132779 0.118945 0.097692 0.082903 0.065334 0.039059 0.032009 ... 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
192 0.047937 0.063672 0.090588 0.101060 0.131751 0.162939 0.167666 0.136035 0.068533 0.040164 ... 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
193 0.036694 0.103140 0.069789 0.079360 0.123777 0.189159 0.199100 0.148085 0.076173 0.065738 ... 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
194 0.056060 0.041583 0.051513 0.040994 0.080261 0.067236 0.066353 0.093851 0.069054 0.016070 ... 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000
195 0.083224 0.074300 0.070437 0.047296 0.111139 0.043811 0.035247 0.105865 0.113699 0.015506 ... 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000
196 0.011719 0.141397 0.035224 0.014276 0.020493 0.129708 0.105526 0.029938 0.052462 0.104830 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000
197 0.092384 0.081685 0.107892 0.034819 0.087810 0.102514 0.122198 0.102837 0.057509 0.095057 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000
198 0.034241 0.079113 0.051390 0.006145 0.020636 0.078629 0.082098 0.028688 0.012628 0.066987 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000
199 0.039419 0.063973 0.052411 0.024858 0.035326 0.053958 0.040374 0.048710 0.027214 0.017816 ... 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000

200 rows × 200 columns


In [70]:
lam_true = LA.eigvalsh(A)
lam_ar = LA.eigvals(H_ar)
lam_lan = LA.eigvals(H_lan)

In [71]:
plt.plot(lam_true, 'x')
plt.plot(sorted(lam_ar.real))
plt.plot(sorted(lam_lan.real))


Out[71]:
[<matplotlib.lines.Line2D at 0x7fdfe7a81f98>]

In [13]:
#DataFrame(A.real)

In [66]:



Out[66]:
array([[ 0.67971428,  0.33316919,  1.45052279],
       [ 0.33316919,  0.39737665,  0.94127939],
       [ 1.45052279,  0.94127939,  1.63564937]])

In [ ]:


In [ ]:


In [ ]: