On Mar 6, 11:20 am, David <[EMAIL PROTECTED]> wrote:
> I am trying to use the reduce() command on a rational pollynomial.  I
> first clear the denominator by multiplying by the denominator but when
> I use reduce() I get an error.  When I print out the polynomial it is
> no longer rational but SAGE doesn't like it.  I would appriciate any
> advice.  Below is an example script with ouput.  Thank you.

The resulting polynomial does not print as rational, but Sage still
considers it to be a rational polynomial with denominator 1.  (You can
see this by printing parent(Z).)

The general principle for this sort of situation in Sage is that you
should be able to get the polynomial you want by treating your ring as
a function and calling your rational polynomial; that is, I would
expect R1(Z) to give you your polynomial.  Unfortunately, it doesn't;
I've reported this as a bug here: http://sagetrac.org/sage_trac/ticket/2411

Instead, there's a somewhat ugly workaround you can use: R1(str(Z))
converts your polynomial to a string, then parses it again, giving you
a polynomial in the correct ring.  And R1(str(Z)).reduce(I2) returns
0.

> Untitled
> system:sage
>
> {{{id=0|
> R1 = PolynomialRing(RationalField(),9,
> ["x0","x1","x2","y0","y1","y2","a0","a1","a2"], "lex")
> x0,x1,x2,y0,y1,y2,a0,a1,a2=R1.gens()
> X=[
> x0*y0 - x2*y1 + x1*y2,
> a2*y0 + a1*y1 - a0*y2,
> a1*x0 - a0*x1 - a2*x2
> ]
> I=R1.ideal(X)
> I2 = I.groebner_basis()
> print X[2].reduce(I2)
> Y=X[2]/a1
> Z=a1*Y
> print Z
> print Z.reduce(I2)
> ///
>
> 0
>
> -x1*a0 + x0*a1 - x2*a2
>
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/home/notebook/sage_notebook/worksheets/admin/61/code/3.py",
> line 17, in <module>
>     exec compile(ur'print Z.reduce(I2)' + '\n', '', 'single')
>   File "/usr/local/sage/data/extcode/sage/", line 1, in <module>
>
> TypeError: reduce() takes exactly 1 argument (2 given)
>
> }}}
>
> {{{id=1|
>
> }}}

Carl
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to