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 [ ]:
Content source: LorenzoBi/courses
Similar notebooks: