本文介绍了多元多项式的渐近除法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么渐近不能将此多项式相除?
>>> import sympy as sp
>>> x,y = sp.symbols("x y")
>>> print(sp.div(y+x,y))
(0, x + y)
我原以为答案是(1,x)
,因为商是1
,余数是x
。我怎样才能得到除多项式的渐近式?我想要的是将某个多项式表示为p=aq+r
,其中r
是余数,q
是商,a
是除数。在上面的示例中,请注意y+x=1*x+y
,因此在我看来,我们应该能够找到1
是p
除以x
的商。更多详细信息
假设我在一个真实的多元多项式环上工作,并假设我想将某个多项式p
表示为p=aq+r
,对于某个非零多项式a
和对于某个r
用deg(r)<deg(q)
。我所说的度(Deg)指的是总度,也就是当你用x
替换所有变量时得到的单变量多项式的次数。例如,xy^2
的总次数为3。虽然这样的一对(q,r)
可能不存在,但如果它确实存在,则对于(p,a)
它是唯一的。下面是一个证明:对某些r
说p=aq+r
和p=aq'+r'
。deg(r)<deg(a)
和假设q≠q'
。通过减去这些方程并重新排列,我们得到了a(q-q')=r'-r
。请注意,因为q-q'≠0
,我们有deg(a)≤deg(a(q-q'))=deg(r-r')
。因此,由于deg(r)<deg(a)
,我们可以得出结论:deg(a)≤deg(r')
。因此,如果存在这样的r
,则此r
是唯一的。我指出这一点是为了表明我所要求的计算是定义良好的。在我看来,能够做多元多项式除法是一种自然的特征这一症状应该会得到支持。如果我说错了,请告诉我为什么。推荐答案
参见here
您需要指定生成器。因为给定表达式y+x
,机器无法计算出哪个变量是生成器。可以是f(y) = x+y
或f(x) = x+y
。
您需要告诉它生成器的顺序是[x,y]。
print(sp.div(y+x, y,gens=[x,y]))
# (0, x + y)
如果将生成器的顺序设置为[y,x]。
print(sp.div(y+x, y,gens=[y,x]))
# (1, x)
这篇关于多元多项式的渐近除法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!