In [2]:
from arnoldi import arnoldi
import numpy as np
In [3]:
A = np.random.rand(4,4)
In [4]:
print(A)
[[ 0.65152074  0.9364781   0.4342838   0.90415574]
 [ 0.04689243  0.93001054  0.654282    0.49558183]
 [ 0.53549651  0.91155741  0.23834176  0.05532501]
 [ 0.71990925  0.15872116  0.63382914  0.12098684]]
In [10]:
V, H = arnoldi(A, 3)
In [12]:
print(V)
print(V.T.dot(V))
print(V.T.dot(A).dot(V))
print(H)
[[ 0.21525128  0.7502353  -0.00868988]
 [ 0.85509319 -0.09384166 -0.47382551]
 [ 0.02355496  0.62201489  0.21819148]
 [ 0.47109202 -0.2035638   0.85311567]]
[[  1.00000000e+00  -6.93889390e-17   5.55111512e-17]
 [ -6.93889390e-17   1.00000000e+00  -5.55111512e-17]
 [  5.55111512e-17  -5.55111512e-17   1.00000000e+00]]
[[  1.39053731e+00   7.54238674e-01   2.63590044e-01]
 [  1.43671175e+00   4.41262154e-01   5.85257392e-02]
 [ -6.24500451e-17   7.37694196e-01   3.28126767e-04]]
[[  1.39053731e+00   7.54238674e-01   2.63590044e-01]
 [  1.43671175e+00   4.41262154e-01   5.85257392e-02]
 [  0.00000000e+00   7.37694196e-01   3.28126767e-04]]
In [ ]: