我正在使用python v.3.6在jupyter qtconsole上运行。我试图使用Sympy在数据集上进行一些线性代数进行个人项目,以将预测与调查分数联系起来。
本质上,我设置了一个增强矩阵,具有n = 14个线性方程,m = 5个未知数,并且正在尝试求解系统。我的问题是,当我在增强矩阵上使用solve_linear_system命令时,我没有任何代码的输出:
import sympy
from sympy import *
from sympy import Matrix, solve_linear_system
from sympy.abc import x, y, z, u, v
system = Matrix(((1,1,-1,0,0,1),(1,1,-1,0,0,2),(0,0,-1,0,-1,3),
(0,0,-1,0,-1,2),(0,0,0,1,0,1),(1,0,1,1,-1,2),(0,0,-1,0,-1,2),(1,0,1,0,0,1),
(1,1,1,0,1,3),(1,1,1,0,0,2),(-1,1,0,0,-1,3),(1,-1,-1,-1,0,2),(-1,1,1,1,-1,3),
(0,-1,0,0,0,2)))
solve_linear_system(system, x, y, z, u, v)
>>
有人可以解释可能是什么问题以及如何解决情况?我尝试了其他矩阵,它似乎与它们一起使用,所以我要问的是Sympy Todo的根本上是错误的,还是该方法是什么?谢谢。
原因是,参考的增强系统没有解决方案。
(可能有太多的约束,您可以通过消除一些多余的方程来放松它)
如果您凝视矩阵一会儿,您会发现有不兼容的方程式,例如第2行&3:(0,0,-1,0,-1,3),(0,0,-1,0,-1,2)或行0和1:(1,1,-1,0,0,1),(1,1,-1,0,0,2)。也可能有冗余。