Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Степенной метод
- def calculate(matrix):
- n = matrix.shape[0] # размер матрицы
- # начальный вектор u_0
- u = np.ones([n, 1])
- print("start vector: {}".format(str(u.T)))
- # предыдущее и текущее собственное значение
- prev_h, h = 0, 0
- # количество итераций
- iterations = 0
- while True:
- v = matrix @ u
- prev_h, h = h, (v / u).max()
- u = v / abs(max(v))
- iterations += 1
- if abs(h - prev_h) < 10 ** (-ACCURACY):
- pretty_print(h, u, iterations)
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement