将 sympy 方程重写为 0 右侧

Rewrite sympy equations to 0 right hand side

有谁知道我如何重写所有 sympy 方程式以使其右侧为零?

我有一个方程列表,每个方程都是一个字符串,我想将其输入“linear_eq_to_matrix”。 我的列表看起来像

eqs = ['x+y =2', 'x = y']

为了使用“linear_eq_to_matrix”,我需要两件事:

  1. 重新制定方程式,使其右侧为零。
  2. 更改方程式的字符串格式。这可以通过 sympy.sympify.
  3. 来完成

我的代码需要类似于

eqns = [x + y - 2, 
        x - y]
A, b = linear_eq_to_matrix(eqns, [x, y])

我不确定如何执行上面的 1) 以获得“eqns”。

编辑:我发现了如何将字符串转换为 sympy 表达式。

我想我解决了:

eqsString = ['x+y =2', 'x = y']
eqs = [sym.Eq(*map(sym.sympify, eq.split('='))) for eq in eqsString]
x, y = symbols('x, y')
A, b = linear_eq_to_matrix(eqs, [x, y])
A, b

给出

(Matrix([
 [1,  1],
 [1, -1]]), Matrix([
 [2],
 [0]]))