本文介绍了多元多项式的渐近除法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么渐近不能将此多项式相除?

>>> 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,因此在我看来,我们应该能够找到1p除以x的商。

更多详细信息

假设我在一个真实的多元多项式环上工作,并假设我想将某个多项式p表示为p=aq+r,对于某个非零多项式a和对于某个rdeg(r)<deg(q)。我所说的度(Deg)指的是总度,也就是当你用x替换所有变量时得到的单变量多项式的次数。例如,xy^2的总次数为3。虽然这样的一对(q,r)可能不存在,但如果它确实存在,则对于(p,a)它是唯一的。下面是一个证明:

对某些rp=aq+rp=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+yf(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)

这篇关于多元多项式的渐近除法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-22 09:43