同情问题解决线性系统

时间:2017-09-22 05:23:07

标签: python matrix linear-algebra sympy

我正在使用在Jupyter QtConsole上运行的Python v.3.6。我正在尝试使用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或者它是方法有什么根本性的错误吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

原因是参考文献中没有增强系统的解决方案 (可能是太多的约束,你可以试着通过消除一些多余的方程来放松它)

如果你盯着你的矩阵一段时间,你会发现存在不兼容的方程式,例如第2行和第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)。也可能有多余的。