您已导入 SymPy 和 NumPy,因此您可以在此处选择工具。对于将一堆数字矩阵相加的工作,numpy 是正确的工具。以下是 numpy 中求和的过程:
sum([sum([np.array([[x,1], [1,y]]) for y in yr]) for x, yr in zip(X,Y)])
这里 yr 代表 Y 的一行元素。外部总和超过 i 索引,内部总和超过 j,尽管列表理解消除了将它们拼写出来的需要。
结果是一个 NumPy 数组:
array([[ 18, 9],
[ 9, 450]])
但你可以把它变成 SymPy 矩阵Matrix()
周围:
Matrix(sum([sum([np.array([[x,1], [1,y]]) for y in yr]) for x, yr in zip(X,Y)]))