Степень матрицы в NumPy
matrix_power из linalg
умножает таблицу саму на себя
заданное число раз. Степень
2 это a @ a, а не
поклеточный квадрат.
Сравним матричное произведение и поклеточное умножение для одной таблицы:
import numpy as np
a = np.array([[1., 2.], [3., 4.]])
print(np.linalg.matrix_power(a, 2)) # выведет [[ 7. 10.]
# [15. 22.]]
print(a * a) # выведет [[ 1. 4.]
# [ 9. 16.]]
Для таблицы
[[1., 1.], [0., 1.]] выведите
результат матричной степени 2.
Для той же таблицы выведите поклеточный квадрат и убедитесь, что таблицы различаются.