division ofr multivariable polynomial

31 views
Skip to first unread message

etienne mann

unread,
Feb 27, 2014, 8:59:02 AM2/27/14
to sage-s...@googlegroups.com
Hi,

is there a command for the "division for multivariable polynomials" ?

for example
f= x^2*y+x*y^2+x+y+1
g1=x*y-1
g2=y^2-1

we want to divide f by (g1,g2) with lexicographic order ?

As Sage is computing the Groebner basis, it must be a command

Thanks in adavance
Etienne

Dima Pasechnik

unread,
Feb 27, 2014, 9:59:49 AM2/27/14
to sage-s...@googlegroups.com
On 2014-02-27, etienne mann <etienn...@gmail.com> wrote:
> Hi,
>
> is there a command for the "division for multivariable polynomials" ?
>
> for example
> f= x^2*y+x*y^2+x+y+1
> g1=x*y-1
> g2=y^2-1
>
> we want to divide f by (g1,g2) with lexicographic order ?

You can do f.reduce(B), for B a Groebner basis of (g1,g2).
See e.g.
http://www.math.ucla.edu/~jimc/mathnet_d/sage/reference/sage/rings/polynomial/multi_polynomial_ideal.html
for an example.

HTH,
Dmitrii

etienne mann

unread,
Feb 27, 2014, 3:31:38 PM2/27/14
to sage-s...@googlegroups.com
Hello,

I agree but you can also divide by something which is not a Grobner basis, like in my example.
So I wonder if this division is implemented on sage.
The trick is that this division is not well-defined i.e. the reminder is not unique...that's why it is not implemented. If you divide by a groebner basis the reminder is unique :)

all the best,
Etienne

Dima Pasechnik

unread,
Feb 27, 2014, 5:48:54 PM2/27/14
to sage-s...@googlegroups.com
On 2014-02-27, etienne mann <etienn...@gmail.com> wrote:
> Hello,
>
> I agree but you can also divide by something which is not a Grobner basis,
> like in my example.
> So I wonder if this division is implemented on sage.
yes, you can reduce w.r.t. any Sequence, it does not need to be a GB.

E.g.

sage: x,y,z = QQ['x,y,z'].gens()
sage: I = Sequence((x^5 + y^4 + z^3 - 1, x^3 + y^3 + z^2 - 1))
sage: (x^6*y^5).reduce(I)
y^11 + 2*y^8*z^2 + y^5*z^4 - 2*y^8 - 2*y^5*z^2 + y^5


> The trick is that this division is not well-defined i.e. the reminder is
> not unique...that's why it is not implemented. If you divide by a groebner
> basis the reminder is unique :)
>
> all the best,
> Etienne
>
> Le jeudi 27 février 2014 15:59:49 UTC+1, Dima Pasechnik a écrit :
>>
Reply all
Reply to author
Forward
0 new messages