如何解决在 Sympy 中,有没有办法在定义多项式方面获得 Groebner 基的表示?
在 Sympy 中,可以通过 Grobner 基获得多项式约简的表示:
from sympy import groebner,expand
from sympy.abc import x,y
f = 2*x**4 - x**2 + y**3 + y**2
G = groebner([x**3 - x,y**3 - y])
Q,r = G.reduce(f)
assert f == expand(sum(q*g for q,g in zip(Q,G)) + r)
但我正在寻找的是一种根据定义它的多项式来获得 Groebner 基元素表达式的方法,本质上只是存储在用于生成基的 Buchberger 算法中执行的计算。
>例如
groebner([2*x+3*y+5,3*x+5*y+2,5*x+2*y+3]) # GroebnerBasis([1],x,y,domain='ZZ',order='lex')
这表明这三个多项式生成了单位理想,但我想要这些多项式的显式组合等于 1。在给出的示例中,它是一个线性组合,但我想要一种也适用于非线性的方法.
在第一个示例中,我获得了 Q,r
。在第二个示例中,我获得了余数 r
的类似物,但我希望多项式 Q
能够实现它。
同样,方法 G.contains()
将指示理想是否包含多项式,但不会告诉您如何生成它。有没有办法做到这一点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。