我有一个维数为n * n的方阵 . 我必须定义一个函数,它将此矩阵 A 作为输入,也是一个值 k . 矩阵A是由numpy随机函数生成的随机矩阵 . 假设k = 4,那么我们必须生成三个不同的矩阵,这样:
matrix_2=A*A
matrix_3=A*A*A
matrix_4=A*A*A*A
其中上面的所有乘法都是矩阵乘法(其中列A = B的行),而不是元素乘法 .
k可以具有用户给出的任何值 . 我们如何在python中使用for循环实现它 .
1 回答
1
使用 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 回答
使用
list
或dict
表示可变数量的变量 . 在这种情况下,您可以使用字典理解,字典键与电源对齐:结果: