有没有办法在 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
我有以下身份:
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