1

假设我有一个向量列表

VectorList = [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]

并说我有一个向量 x

x = [0,3,0,1]

那么 x 在这种情况下可以写成其他向量的线性组合:

[0,3,0,1] = a*[1,0,0,0] + b*[0,1,0,0] + c*[0,0,1,0] + d*[0,0,0,1]

其中 a = 0,b = 3,c = 0 和 d = 1

Python中有没有一种通用的方法来检查一个向量是否可以写成向量列表的线性组合并找到它的标量倍数?我是 python 的初学者,我可以直观地做到这一点......但是如何在 Python 中解决这个问题?我已经在这个问题上工作了这么多小时

请记住,向量列表可能并不总是如此清晰。

4

1 回答 1

1

所以你想解决一个线性方程组?我建议看看numpy.matrixnumpy linalg 。Numpy 中有很多有用的数学知识 :)。

编辑:

看起来您想要的功能是numpy.linalg.solve(a,b)(在您的情况下 x 在哪里),如果找不到解决方案b,它将抛出一个。LinAlgError

于 2013-08-01T23:17:29.390 回答