说我有一个载体列表
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中解决这个问题呢?我已经解决了这个问题了很多个小时
请记住,矢量列表可能并不总是如此明确。
答案 0 :(得分:1)
所以你想要求一个线性方程组?我建议看一下 numpy.matrix 和numpy linalg。 Numpy里面有很多有用的数学内容:)。
编辑:
看起来你想要的函数是numpy.linalg.solve(a,b)
(在你的情况下b
是x),如果找不到解,你将抛出LinAlgError
。