如何使用 Python(NumPy、SciPy 等)求解 AX = B 方程,其中 A、X、B 是矩阵且 X 的所有元素必须为非负

Анд*_*нко 2 python linear-equation numpy scipy

我需要使用 Python 求解方程 AX = B,其中 A、X、B 是矩阵,并且 X 的所有值都必须为非负值。

我找到的最好的解决方案是

X = np.linalg.lstsq(A, B, rcond=None)
Run Code Online (Sandbox Code Playgroud)

但结果 X 包含负值。是否有可能获得没有负值的解决方案?提前致谢!

Pru*_*une 5

一般来说,这在数学上是不可能的。给定基本要求AB可逆,X是唯一矩阵。如果您不喜欢具有的元素,X则不能简单地要求另一种解决方案:没有。你必须改变AB得到不同的结果。