首页 > 解决方案 > 获得一组线性方程的非平凡解

问题描述

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

我实际上还没有手动解决这个特定的集合,也许微不足道的解决方案是唯一的解决方案。如果是这样,这个原则仍然适用。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)

标签: pythonnumpy

解决方案


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


推荐阅读