如何在Sympy中增加矩阵的维数

问题描述

比方说,现在我有一个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])

但是,这有点尴尬。 有更好的方法吗?

请注意,标量乘法N = D[0] * Matrix(2,[1,0])是不可接受的,因为下次我可能会要求您将2x2转换为3x3。

解决方法

使用SELECT s.ID,s.name,COALESCE(a.i_id,'NA') AS i_id FROM student s LEFT JOIN advisor a on s.ID = a.s_id;

sympy.diag