Идея здесь состоит в том, чтобы возвести в квадрат матрицу n раз и после каждого цикла возведения в квадрат нормализовать ее. Я предполагаю, что ошибка в final_matrix
-функции и связана с областью видимости. Я знаю, что это ужасный код, но я новичок. Так что критика более чем приветствуется :) Заранее спасибо! !!
def normalize(F):
row_sums = F.sum(axis = 1)
new_matrix = F / row_sums[:, np.newaxis]
return new_matrix
#square matrix
def square(F):
F = F.dot(F)
return F
#calculate final matrix
def final_matrix(M, n):
for _ in range(n):
F = square(F)
N = normalize(F)
print(N)
x = final_matrix(M,n)
print(x)