Используйте list
или dict
для переменного числа переменных. В этом случае вы можете использовать словарное понимание, с ключами словаря, выровненными по степени:
from numpy.linalg import matrix_power
np.random.seed(0)
n = 2
A = np.random.random((n, n))
def make_arrays(arr, k):
return {i: matrix_power(arr, i) for i in range(1, k+1)}
res = make_arrays(A, 4)
Результат:
{1: array([[0.5488135 , 0.71518937],
[0.60276338, 0.54488318]]),
2: array([[0.73228622, 0.78220024],
[0.65924031, 0.72798764]]),
3: array([[0.87337022, 0.94993107],
[0.80060427, 0.86814988]]),
4: array([[1.05190103, 1.14222656],
[0.96267139, 1.04562393]])}