wrong indentation

main
Luca Lombardo 2 years ago
parent 1f78fbfd5b
commit fe332995d0

@ -193,27 +193,26 @@ class Algorithms:
return mv, x, r, total_time return mv, x, r, total_time
# Refers to Algorithm 2 in the paper, it's needed to implement the algorithm 4. It doesn't work yet. Refer to the file testing.ipynb for more details. This function down here is just a place holder for now # Refers to Algorithm 2 in the paper, it's needed to implement the algorithm 4. It doesn't work yet. Refer to the file testing.ipynb for more details. This function down here is just a place holder for now
def Arnoldi(A, v, m): def Arnoldi(A, v, m):
beta = norm(v) beta = norm(v)
v = v/beta v = v/beta
h = sp.sparse.lil_matrix((m,m)) h = sp.sparse.lil_matrix((m,m))
for j in range(m):
for j in range(m): w = A @ v
w = A @ v for i in range(j):
for i in range(j): tmp = v.T @ w
tmp = v.T @ w h[i,j] = tmp[0,0]
h[i,j] = tmp[0,0] w = w - h[i,j]*v
w = w - h[i,j]*v h[j,j-1] = norm(w) # in the paper the index is referred as h[j+1,j] but since python starts from 0 it's h[j,j-1]
h[j,j-1] = norm(w)
if h[j,j-1] == 0:
if h[j,j-1] == 0: print("Arnoldi breakdown")
print("Arnoldi breakdown") m = j
m = j v = 0
v = 0 break
break else:
else: v = w/h[j,j-1]
v = w/h[j,j-1] return v, h, m, beta, j # this is not the output required in the paper, I should return the matrix V and the matrix H
return v, h, m, beta, j # this is not the output required in the paper, I should return the matrix V and the matrix H
# pandas dataframe to store the results # pandas dataframe to store the results

Loading…
Cancel
Save