【发布时间】:2020-11-09 02:07:56
【问题描述】:
假设,现在我有一个 1x1 矩阵,例如:
M = Matrix([[2]])
如何从中创建一个新的 2x2 矩阵,用 0 填充所有空白?即:
N = Matrix([[2, 0], [0, 0]])
如果是 numpy,我可以使用np.newaxis;但是,sympy 中似乎没有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。
【问题讨论】:
标签: python matrix sympy reshape dimension