Python:矢量表示为矢量列表的组合

时间:2013-08-01 23:15:35

标签: python math

说我有一个载体列表

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中有一种通用的方法来检查IF是否可以将向量写为向量列表的线性组合并找到它的标量倍数? 我是python的初学者,我可以直观地做到......但是如何在Python中解决这个问题呢?我已经解决了这个问题了很多个小时

请记住,矢量列表可能并不总是如此明确。

1 个答案:

答案 0 :(得分:1)

所以你想要求一个线性方程组?我建议看一下 numpy.matrix numpy linalg。 Numpy里面有很多有用的数学内容:)。

编辑:

看起来你想要的函数是numpy.linalg.solve(a,b)(在你的情况下b是x),如果找不到解,你将抛出LinAlgError