Python 求解线性方程的子集
Python solve subset of linear equations
所以我知道 sympy 和 numpy 的线性代数求解器,但我想做的是不同的。我没有形成可解矩阵的方程,所以我可以用这些库求解,所以我试图通过组合 2 个或更多方程来求解单个变量。例如:
A+B+C = 2
B+C = 1
通过组合这些等式,我们可以看到我们得到 A+1 = 2 或 A = 1。
我怎么能在 python 中实现类似的东西,因为我不能只创建一个矩阵并解决它?最终目标是最终得到一个等于 0 或 1 的变量,如果这不可能,那么通过组合方程式可以得到最短的形式。另外,变量系数将始终为 1,因此换句话说,永远不会有 2A+B = 3 之类的东西。
from sympy import *
a, b, c = symbols('a, b, c')
f1 = a+b+c
f2 = b+c
result = solve([f1-2, f2-1], (a, b, c))
输出:
{b: 1 - c, a: 1}
所以我知道 sympy 和 numpy 的线性代数求解器,但我想做的是不同的。我没有形成可解矩阵的方程,所以我可以用这些库求解,所以我试图通过组合 2 个或更多方程来求解单个变量。例如:
A+B+C = 2
B+C = 1
通过组合这些等式,我们可以看到我们得到 A+1 = 2 或 A = 1。
我怎么能在 python 中实现类似的东西,因为我不能只创建一个矩阵并解决它?最终目标是最终得到一个等于 0 或 1 的变量,如果这不可能,那么通过组合方程式可以得到最短的形式。另外,变量系数将始终为 1,因此换句话说,永远不会有 2A+B = 3 之类的东西。
from sympy import *
a, b, c = symbols('a, b, c')
f1 = a+b+c
f2 = b+c
result = solve([f1-2, f2-1], (a, b, c))
输出:
{b: 1 - c, a: 1}