获得一组线性方程的非平凡解

时间:2018-06-29 17:23:36

标签: python numpy

我正在尝试编写一个程序,该程序将允许我使用numpy求解方程组,但是,我希望解决方案不平凡(并非全零)。显然,该程序只是将所有内容都设置为0,从而解决了问题。我尝试使用while循环(如下所示),但很快发现它将继续向我吐0。我不在乎是否最终使用numpy,如果更优雅,我可以接受其他解决方案。

我实际上还没有手工解决这个特殊的问题,也许琐碎的解决方案是唯一的解决方案。如果是这样,该原则仍然适用。脾气暴躁似乎总是吐0回来。

任何帮助将不胜感激!谢谢。

x1 = .5
x2 = .3
x3 = .2
x4 = .05

a = np.array([[x1,x2],[x3,x4]])
b = np.array([0,0])

ans = np.linalg.solve(a,b)

while ans[0] == 0 and ans[1] == 0:
    print ("got here")
    ans = np.linalg.solve(a,b)


print(ans)

2 个答案:

答案 0 :(得分:1)

在您的情况下,矩阵a是可逆的。因此,您的线性方程组只有一个解,且解为[0,0]。您是否想知道为什么只得到这种独特的解决方案?

答案 1 :(得分:0)

签出Sympy,它用于求解和矩阵计算。这是两者的页面。

http://docs.sympy.org/latest/tutorial/matrices.html

http://docs.sympy.org/latest/tutorial/solvers.html