比方说,现在我有一个1x1矩阵,比如:
M = Matrix([[2]])
我如何从中创建一个新的2x2矩阵,用0填充所有空格?即:
N = Matrix([[2, 0], [0, 0]])
如果是numpy,我可以使用np.newaxis
;然而,似乎在Symphy中没有newaxis
所以,我试着:
N = M.reshape(2, 2)
我得到了以下错误:
ValueError: Invalid reshape parameters 2 2
我发现以下表达式有效:
N = Matrix(2, 2, [D[0], 0, 0, 0])
然而,这有点尴尬。 还有更好的办法吗
请注意,标量乘法N = D[0] * Matrix(2, 2, [1, 0, 0, 0])
是不可接受的,因为下次我可能会要求您将2x2转换为3x3
使用
sympy.diag
相关问题 更多 >
编程相关推荐