有没有办法在 sympy 中简化多项式方程组?

Is there a way to simplify a system of polynomial equations in sympy?

我有以下身份:

1 = a + b + c

假设我有表达式:

expr = x*(a + b + c)

可以简化为x

有没有办法向 SymPy 声明它以便简化它们?实际上我是手动完成工作的:

>>> import sympy
>>> sympy.vars("x a b c")
>>> expr = x*(a + b + c)
>>> expr.subs(a + b + c, 1)
x

ratsimpmodprime 函数适用于您的情况。它简化了关于一些假设为零的多项式的有理函数:

In [13]: a, b, c, x = symbols('a, b, c, x')

In [14]: polys = [a + b + c - 1]

In [15]: basis = groebner(polys).polys

In [16]: ratsimpmodprime(x*(a + b + c), basis)
Out[16]: x

https://docs.sympy.org/latest/modules/simplify/simplify.html#ratsimpmodprime