[sage-devel] Re: Difficulties with resultant

2014-08-08 Thread Dima Pasechnik
On 2014-08-08, John Cremona  wrote:
> On 8 August 2014 03:21, rjf  wrote:
>> There is a different answer from Maxima, at least different from what is
>> posted.
>>
>> algebraic:true;
>> tellrat(x^3+3*x+1);
>> resultant(f,g,y)
>> gives
>>
>> 2201*x^2-2042*x-885
>
> This certainly the correct answer, as one can check by going back to
> first principles:  the resultant of 2 quadratics is a homogenous
> polynomial in the 6 coefficients, actually bihomogeneous of bidegree
> (2,2), given by a 4x4 determinant.  It makes no difference when one
> reduces modulo the modulus:
>
> sage: x = polygen(QQ)
> sage: a,b,c,d,e,f = [x^4, x^3+1, x-2, x^3+2*x+1, x+1, x^4+x^3+x^2+1]
> sage: M = Matrix(4,4,[a,0,d,0,b,a,e,d,c,b,f,e,0,c,0,f]); M
> [x^4   0   x^3 + 2*x + 1
> 0]
> [x^3 + 1 x^4   x + 1   x^3
> + 2*x + 1]
> [  x - 2 x^3 + 1 x^4 + x^3 + x^2 + 1
> x + 1]
> [  0   x - 2   0 x^4 + x^3
> + x^2 + 1]
> sage: M.det() % (x^3+3*x+1)
> 2201*x^2 - 2042*x - 885

and this is in agreement with the direct computation in GF(487326487)
done on Sage 6.3.rc0, 
as  -2042 % 487326487 == 487324445 and -885 % 487326487 == 487325602.


-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Difficulties with resultant

2014-08-08 Thread John Cremona
On 8 August 2014 03:21, rjf  wrote:
> There is a different answer from Maxima, at least different from what is
> posted.
>
> algebraic:true;
> tellrat(x^3+3*x+1);
> resultant(f,g,y)
> gives
>
> 2201*x^2-2042*x-885

This certainly the correct answer, as one can check by going back to
first principles:  the resultant of 2 quadratics is a homogenous
polynomial in the 6 coefficients, actually bihomogeneous of bidegree
(2,2), given by a 4x4 determinant.  It makes no difference when one
reduces modulo the modulus:

sage: x = polygen(QQ)
sage: a,b,c,d,e,f = [x^4, x^3+1, x-2, x^3+2*x+1, x+1, x^4+x^3+x^2+1]
sage: M = Matrix(4,4,[a,0,d,0,b,a,e,d,c,b,f,e,0,c,0,f]); M
[x^4   0   x^3 + 2*x + 1
0]
[x^3 + 1 x^4   x + 1   x^3
+ 2*x + 1]
[  x - 2 x^3 + 1 x^4 + x^3 + x^2 + 1
x + 1]
[  0   x - 2   0 x^4 + x^3
+ x^2 + 1]
sage: M.det() % (x^3+3*x+1)
2201*x^2 - 2042*x - 885

John

>
> Note that Maxima can also compute the resultant wrt x without
> renaming variables.
>
>
>
> On Thursday, August 7, 2014 10:25:19 AM UTC-7, Bill Hart wrote:
>>
>> Thanks Peter. That clears it up well.
>>
>> I actually thought that you could specify which variable Pari/GP took the
>> resultant with respect to. But this obviously doesn't get you around the
>> variable ordering issue.
>>
>> I was vaguely aware of that problem, but had no idea I wasn't working
>> around it already.
>>
>> I'm glad to hear this is also fixed in Sage. I tend to use the latest
>> stable release of Sage, but not usually the beta, so I missed that this had
>> been fixed.
>>
>> Thanks again for the help.
>>
>> Bill.
>>
>> On Thursday, 7 August 2014 17:02:56 UTC+2, Peter Bruin wrote:
>>>
>>> Hi Bill,
>>>
>>> This bug was only fixed two weeks ago (Trac tickets #15061 and #16360),
>>> so it only works in the most recent beta versions of Sage.
>>>
>>> The reason why PARI gives the wrong answer has to do with variable
>>> ordering; for example, f is translated to
>>>
>>> f = Mod(-3*y^2*x^2 + (-y^2 - 3*y + 1)*x - 2, x^3 + 3*x + 1)
>>>
>>> which is not a polynomial at all.  If you want to do this computation in
>>> PARI, you have to replace x by a variable with lower priority than y:
>>>
>>> gp > y; z;
>>> gp > f = (z^4*y^2 + (z^3 + 1)*y + (z - 2)) * Mod(1, z^3 + 3*z + 1) *
>>> Mod(1, 487326487);
>>> gp > g = ((z^3 + 2*z + 1)*y^2 + (z + 1)*y + (z^4 + z^3 + z^2 + 1)) *
>>> Mod(1, z^3 + 3*z + 1) * Mod(1, 487326487);
>>> gp > polresultant(f, g)
>>> %4 = Mod(Mod(2201, 487326487)*z^2 + Mod(487324445, 487326487)*z +
>>> Mod(487325602, 487326487), z^3 + 3*z + 1)
>>>
>>> Peter
>>>
>>>
>>> Bill Hart wrote:
>>>
>>> > I think that is the correct answer. It agrees with one of the answers
>>> > Magma gives, and someone else says Mathematica agrees.
>>> > My version of Sage is 'Sage Version 6.2, Release Date: 2014-05-06'
>>> > Bill.
>>> >
>>> > On Thursday, 7 August 2014 16:10:52 UTC+2, Frédéric Chapoton wrote:
>>> >
>>> >   Hello,
>>> >   it works for me on sage 6.3.beta8, giving:
>>> >   2201*xbar^2 + 487324445*xbar + 487325602
>>> >   which version of sage do you use ? type version() to know that.
>>> >   By the way, you should rather have asked that question on
>>> > sage-support
>>> >   or on ask.sagemath.org
>>> >   Le jeudi 7 août 2014 16:03:43 UTC+2, Bill Hart a écrit :
>>> >
>>> >  I'm having difficulties with the polynomial resultant function in
>>> >  Sage.
>>> >  I'm trying to find the resultant of two polynomials.
>>> >  I compute the resultant of the polynomials below to be:
>>> >  6768454*x^2+257200062*x+20305258
>>> >  Pari/GP says the resultant is 1, which I don't believe, so I thought
>>> >  I'd try Sage 6.2:
>>> >  sage: R = Integers(487326487)
>>> >  sage: S. = PolynomialRing(R)
>>> >  sage: T = QuotientRing(S, x^3 + 3*x + 1)
>>> >  sage: U. = PolynomialRing(T)
>>> >  sage: f = x^4*y^2 + (x^3 + 1)*y + (x - 2)
>>> >  sage: g = (x^3 + 2*x + 1)*y^2 + (x + 1)*y + (x^4 + x^3 + x^2 + 1)
>>> >  sage: f.resultant(g)
>>> >
>>> > ---
>>> >  PariError Traceback (most recent call
>>> >  last)
>>> >   in ()
>>> >  > 1 f.resultant(g)
>>> >
>>> > /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/structure/element.so
>>> >  in sage.structure.element.NamedBinopMethod.__call__
>>> >  (sage/structure/element.c:25475)()
>>> >
>>> > /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>>> >  in sage.rings.polynomial.polynomial_element.Polynomial.resultant
>>> >  (sage/rings/polynomial/polynomial_element.c:33908)()
>>> >
>>> > /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>>> >  in sage.rings.polynomial.polynomial_element.Polynomial._pari_with_name
>>> >  (sage/rings/polynomial/polynomial_element.c:33119)

[sage-devel] Re: Difficulties with resultant

2014-08-07 Thread rjf
There is a different answer from Maxima, at least different from what is 
posted.

algebraic:true;
tellrat(x^3+3*x+1);
resultant(f,g,y)
gives

2201*x^2-2042*x-885

Note that Maxima can also compute the resultant wrt x without
renaming variables.


On Thursday, August 7, 2014 10:25:19 AM UTC-7, Bill Hart wrote:
>
> Thanks Peter. That clears it up well.
>
> I actually thought that you could specify which variable Pari/GP took the 
> resultant with respect to. But this obviously doesn't get you around the 
> variable ordering issue.
>
> I was vaguely aware of that problem, but had no idea I wasn't working 
> around it already.
>
> I'm glad to hear this is also fixed in Sage. I tend to use the latest 
> stable release of Sage, but not usually the beta, so I missed that this had 
> been fixed.
>
> Thanks again for the help.
>
> Bill.
>
> On Thursday, 7 August 2014 17:02:56 UTC+2, Peter Bruin wrote:
>>
>> Hi Bill, 
>>
>> This bug was only fixed two weeks ago (Trac tickets #15061 and #16360), 
>> so it only works in the most recent beta versions of Sage. 
>>
>> The reason why PARI gives the wrong answer has to do with variable 
>> ordering; for example, f is translated to 
>>
>> f = Mod(-3*y^2*x^2 + (-y^2 - 3*y + 1)*x - 2, x^3 + 3*x + 1) 
>>
>> which is not a polynomial at all.  If you want to do this computation in 
>> PARI, you have to replace x by a variable with lower priority than y: 
>>
>> gp > y; z; 
>> gp > f = (z^4*y^2 + (z^3 + 1)*y + (z - 2)) * Mod(1, z^3 + 3*z + 1) * 
>> Mod(1, 487326487); 
>> gp > g = ((z^3 + 2*z + 1)*y^2 + (z + 1)*y + (z^4 + z^3 + z^2 + 1)) * 
>> Mod(1, z^3 + 3*z + 1) * Mod(1, 487326487); 
>> gp > polresultant(f, g) 
>> %4 = Mod(Mod(2201, 487326487)*z^2 + Mod(487324445, 487326487)*z + 
>> Mod(487325602, 487326487), z^3 + 3*z + 1) 
>>
>> Peter 
>>
>>
>> Bill Hart wrote: 
>>
>> > I think that is the correct answer. It agrees with one of the answers 
>> > Magma gives, and someone else says Mathematica agrees. 
>> > My version of Sage is 'Sage Version 6.2, Release Date: 2014-05-06' 
>> > Bill. 
>> > 
>> > On Thursday, 7 August 2014 16:10:52 UTC+2, Frédéric Chapoton wrote: 
>> > 
>> >   Hello, 
>> >   it works for me on sage 6.3.beta8, giving: 
>> >   2201*xbar^2 + 487324445*xbar + 487325602 
>> >   which version of sage do you use ? type version() to know that. 
>> >   By the way, you should rather have asked that question on 
>> sage-support 
>> >   or on ask.sagemath.org 
>> >   Le jeudi 7 août 2014 16:03:43 UTC+2, Bill Hart a écrit : 
>> > 
>> >  I'm having difficulties with the polynomial resultant function in 
>> >  Sage. 
>> >  I'm trying to find the resultant of two polynomials. 
>> >  I compute the resultant of the polynomials below to be: 
>> >  6768454*x^2+257200062*x+20305258 
>> >  Pari/GP says the resultant is 1, which I don't believe, so I thought 
>> >  I'd try Sage 6.2: 
>> >  sage: R = Integers(487326487) 
>> >  sage: S. = PolynomialRing(R) 
>> >  sage: T = QuotientRing(S, x^3 + 3*x + 1) 
>> >  sage: U. = PolynomialRing(T) 
>> >  sage: f = x^4*y^2 + (x^3 + 1)*y + (x - 2) 
>> >  sage: g = (x^3 + 2*x + 1)*y^2 + (x + 1)*y + (x^4 + x^3 + x^2 + 1) 
>> >  sage: f.resultant(g) 
>> > 
>>  --- 
>>
>> >  PariError Traceback (most recent call 
>> >  last) 
>> >   in () 
>> >  > 1 f.resultant(g) 
>> > 
>>  
>> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/structure/element.so
>>  
>>
>> >  in sage.structure.element.NamedBinopMethod.__call__ 
>> >  (sage/structure/element.c:25475)() 
>> > 
>>  
>> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>>  
>>
>> >  in sage.rings.polynomial.polynomial_element.Polynomial.resultant 
>> >  (sage/rings/polynomial/polynomial_element.c:33908)() 
>> > 
>>  
>> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>>  
>>
>> >  in sage.rings.polynomial.polynomial_element.Polynomial._pari_with_name 
>> >  (sage/rings/polynomial/polynomial_element.c:33119)() 
>> > 
>>  
>> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/libs/pari/gen.so
>>  
>>
>> >  in sage.libs.pari.gen.gen.Polrev (sage/libs/pari/gen.c:12936)() 
>> > 
>>  
>> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/libs/pari/handle_error.so
>>  
>>
>> >  in sage.libs.pari.handle_error._pari_handle_exception 
>> >  (sage/libs/pari/handle_error.c:1178)() 
>> >  PariError: variable must have higher priority in gtopoly 
>> >  --- 
>> >  Magma gives two different answers, depending on whether you coerce the 
>> >  coefficients of f and g into T or not (I don't see why). Neither agree 
>> >  with the Pari/GP answer, or the answer I compute myself (which is very 
>> >  likely wrong). 
>> >  Coercing the coefficients into T makes no difference to the resulting 
>> >  error in Sage. 
>> >  Can someone tell m

[sage-devel] Re: Difficulties with resultant

2014-08-07 Thread Bill Hart
Thanks Peter. That clears it up well.

I actually thought that you could specify which variable Pari/GP took the 
resultant with respect to. But this obviously doesn't get you around the 
variable ordering issue.

I was vaguely aware of that problem, but had no idea I wasn't working 
around it already.

I'm glad to hear this is also fixed in Sage. I tend to use the latest 
stable release of Sage, but not usually the beta, so I missed that this had 
been fixed.

Thanks again for the help.

Bill.

On Thursday, 7 August 2014 17:02:56 UTC+2, Peter Bruin wrote:
>
> Hi Bill, 
>
> This bug was only fixed two weeks ago (Trac tickets #15061 and #16360), 
> so it only works in the most recent beta versions of Sage. 
>
> The reason why PARI gives the wrong answer has to do with variable 
> ordering; for example, f is translated to 
>
> f = Mod(-3*y^2*x^2 + (-y^2 - 3*y + 1)*x - 2, x^3 + 3*x + 1) 
>
> which is not a polynomial at all.  If you want to do this computation in 
> PARI, you have to replace x by a variable with lower priority than y: 
>
> gp > y; z; 
> gp > f = (z^4*y^2 + (z^3 + 1)*y + (z - 2)) * Mod(1, z^3 + 3*z + 1) * 
> Mod(1, 487326487); 
> gp > g = ((z^3 + 2*z + 1)*y^2 + (z + 1)*y + (z^4 + z^3 + z^2 + 1)) * 
> Mod(1, z^3 + 3*z + 1) * Mod(1, 487326487); 
> gp > polresultant(f, g) 
> %4 = Mod(Mod(2201, 487326487)*z^2 + Mod(487324445, 487326487)*z + 
> Mod(487325602, 487326487), z^3 + 3*z + 1) 
>
> Peter 
>
>
> Bill Hart wrote: 
>
> > I think that is the correct answer. It agrees with one of the answers 
> > Magma gives, and someone else says Mathematica agrees. 
> > My version of Sage is 'Sage Version 6.2, Release Date: 2014-05-06' 
> > Bill. 
> > 
> > On Thursday, 7 August 2014 16:10:52 UTC+2, Frédéric Chapoton wrote: 
> > 
> >   Hello, 
> >   it works for me on sage 6.3.beta8, giving: 
> >   2201*xbar^2 + 487324445*xbar + 487325602 
> >   which version of sage do you use ? type version() to know that. 
> >   By the way, you should rather have asked that question on sage-support 
> >   or on ask.sagemath.org 
> >   Le jeudi 7 août 2014 16:03:43 UTC+2, Bill Hart a écrit : 
> > 
> >  I'm having difficulties with the polynomial resultant function in 
> >  Sage. 
> >  I'm trying to find the resultant of two polynomials. 
> >  I compute the resultant of the polynomials below to be: 
> >  6768454*x^2+257200062*x+20305258 
> >  Pari/GP says the resultant is 1, which I don't believe, so I thought 
> >  I'd try Sage 6.2: 
> >  sage: R = Integers(487326487) 
> >  sage: S. = PolynomialRing(R) 
> >  sage: T = QuotientRing(S, x^3 + 3*x + 1) 
> >  sage: U. = PolynomialRing(T) 
> >  sage: f = x^4*y^2 + (x^3 + 1)*y + (x - 2) 
> >  sage: g = (x^3 + 2*x + 1)*y^2 + (x + 1)*y + (x^4 + x^3 + x^2 + 1) 
> >  sage: f.resultant(g) 
> > 
>  --- 
>
> >  PariError Traceback (most recent call 
> >  last) 
> >   in () 
> >  > 1 f.resultant(g) 
> > 
>  
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/structure/element.so
>  
>
> >  in sage.structure.element.NamedBinopMethod.__call__ 
> >  (sage/structure/element.c:25475)() 
> > 
>  
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>  
>
> >  in sage.rings.polynomial.polynomial_element.Polynomial.resultant 
> >  (sage/rings/polynomial/polynomial_element.c:33908)() 
> > 
>  
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>  
>
> >  in sage.rings.polynomial.polynomial_element.Polynomial._pari_with_name 
> >  (sage/rings/polynomial/polynomial_element.c:33119)() 
> > 
>  
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/libs/pari/gen.so
>  
>
> >  in sage.libs.pari.gen.gen.Polrev (sage/libs/pari/gen.c:12936)() 
> > 
>  
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/libs/pari/handle_error.so
>  
>
> >  in sage.libs.pari.handle_error._pari_handle_exception 
> >  (sage/libs/pari/handle_error.c:1178)() 
> >  PariError: variable must have higher priority in gtopoly 
> >  --- 
> >  Magma gives two different answers, depending on whether you coerce the 
> >  coefficients of f and g into T or not (I don't see why). Neither agree 
> >  with the Pari/GP answer, or the answer I compute myself (which is very 
> >  likely wrong). 
> >  Coercing the coefficients into T makes no difference to the resulting 
> >  error in Sage. 
> >  Can someone tell me what I am doing wrong here. I obviously don't know 
> >  what I'm doing. I've never really tried to do any genuine computer 
> >  algebra before. 
> >  Bill. 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "sage-devel" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to sage-devel+...@googlegroups.com . 
> > To post to this group, send email to sag

[sage-devel] Re: Difficulties with resultant

2014-08-07 Thread Peter Bruin
Hi Bill,

This bug was only fixed two weeks ago (Trac tickets #15061 and #16360),
so it only works in the most recent beta versions of Sage.

The reason why PARI gives the wrong answer has to do with variable
ordering; for example, f is translated to

f = Mod(-3*y^2*x^2 + (-y^2 - 3*y + 1)*x - 2, x^3 + 3*x + 1)

which is not a polynomial at all.  If you want to do this computation in
PARI, you have to replace x by a variable with lower priority than y:

gp > y; z;
gp > f = (z^4*y^2 + (z^3 + 1)*y + (z - 2)) * Mod(1, z^3 + 3*z + 1) * Mod(1, 
487326487);
gp > g = ((z^3 + 2*z + 1)*y^2 + (z + 1)*y + (z^4 + z^3 + z^2 + 1)) * Mod(1, z^3 
+ 3*z + 1) * Mod(1, 487326487);
gp > polresultant(f, g)
%4 = Mod(Mod(2201, 487326487)*z^2 + Mod(487324445, 487326487)*z + 
Mod(487325602, 487326487), z^3 + 3*z + 1)

Peter


Bill Hart wrote:

> I think that is the correct answer. It agrees with one of the answers
> Magma gives, and someone else says Mathematica agrees.
> My version of Sage is 'Sage Version 6.2, Release Date: 2014-05-06'
> Bill.
>
> On Thursday, 7 August 2014 16:10:52 UTC+2, Frédéric Chapoton wrote:
>
>   Hello,
>   it works for me on sage 6.3.beta8, giving:
>   2201*xbar^2 + 487324445*xbar + 487325602
>   which version of sage do you use ? type version() to know that.
>   By the way, you should rather have asked that question on sage-support
>   or on ask.sagemath.org
>   Le jeudi 7 août 2014 16:03:43 UTC+2, Bill Hart a écrit :
>
>  I'm having difficulties with the polynomial resultant function in
>  Sage.
>  I'm trying to find the resultant of two polynomials. 
>  I compute the resultant of the polynomials below to be:
>  6768454*x^2+257200062*x+20305258
>  Pari/GP says the resultant is 1, which I don't believe, so I thought
>  I'd try Sage 6.2:
>  sage: R = Integers(487326487)
>  sage: S. = PolynomialRing(R)
>  sage: T = QuotientRing(S, x^3 + 3*x + 1)
>  sage: U. = PolynomialRing(T)
>  sage: f = x^4*y^2 + (x^3 + 1)*y + (x - 2)
>  sage: g = (x^3 + 2*x + 1)*y^2 + (x + 1)*y + (x^4 + x^3 + x^2 + 1)
>  sage: f.resultant(g)
>  ---
>  PariError Traceback (most recent call
>  last)
>   in ()
>  > 1 f.resultant(g)
>  
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/structure/element.so
>  in sage.structure.element.NamedBinopMethod.__call__
>  (sage/structure/element.c:25475)()
>  
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>  in sage.rings.polynomial.polynomial_element.Polynomial.resultant
>  (sage/rings/polynomial/polynomial_element.c:33908)()
>  
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>  in sage.rings.polynomial.polynomial_element.Polynomial._pari_with_name
>  (sage/rings/polynomial/polynomial_element.c:33119)()
>  
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/libs/pari/gen.so
>  in sage.libs.pari.gen.gen.Polrev (sage/libs/pari/gen.c:12936)()
>  
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/libs/pari/handle_error.so
>  in sage.libs.pari.handle_error._pari_handle_exception
>  (sage/libs/pari/handle_error.c:1178)()
>  PariError: variable must have higher priority in gtopoly
>  ---
>  Magma gives two different answers, depending on whether you coerce the
>  coefficients of f and g into T or not (I don't see why). Neither agree
>  with the Pari/GP answer, or the answer I compute myself (which is very
>  likely wrong).
>  Coercing the coefficients into T makes no difference to the resulting
>  error in Sage.
>  Can someone tell me what I am doing wrong here. I obviously don't know
>  what I'm doing. I've never really tried to do any genuine computer
>  algebra before. 
>  Bill.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Difficulties with resultant

2014-08-07 Thread Bill Hart
I think that is the correct answer. It agrees with one of the answers Magma 
gives, and someone else says Mathematica agrees.

My version of Sage is 'Sage Version 6.2, Release Date: 2014-05-06'

Bill.

On Thursday, 7 August 2014 16:10:52 UTC+2, Frédéric Chapoton wrote:
>
> Hello,
>
> it works for me on sage 6.3.beta8, giving:
>
> 2201*xbar^2 + 487324445*xbar + 487325602
>
> which version of sage do you use ? type version() to know that.
>
> By the way, you should rather have asked that question on sage-support or 
> on ask.sagemath.org
>
> Le jeudi 7 août 2014 16:03:43 UTC+2, Bill Hart a écrit :
>>
>> I'm having difficulties with the polynomial resultant function in Sage.
>>
>> I'm trying to find the resultant of two polynomials. 
>>
>> I compute the resultant of the polynomials below to be:
>>
>> 6768454*x^2+257200062*x+20305258
>>
>> Pari/GP says the resultant is 1, which I don't believe, so I thought I'd 
>> try Sage 6.2:
>>
>> sage: R = Integers(487326487)
>> sage: S. = PolynomialRing(R)
>> sage: T = QuotientRing(S, x^3 + 3*x + 1)
>> sage: U. = PolynomialRing(T)
>> sage: f = x^4*y^2 + (x^3 + 1)*y + (x - 2)
>> sage: g = (x^3 + 2*x + 1)*y^2 + (x + 1)*y + (x^4 + x^3 + x^2 + 1)
>> sage: f.resultant(g)
>>
>> ---
>> PariError Traceback (most recent call 
>> last)
>>  in ()
>> > 1 f.resultant(g)
>>
>> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/structure/element.so
>>  
>> in sage.structure.element.NamedBinopMethod.__call__ 
>> (sage/structure/element.c:25475)()
>>
>> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>>  
>> in sage.rings.polynomial.polynomial_element.Polynomial.resultant 
>> (sage/rings/polynomial/polynomial_element.c:33908)()
>>
>> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>>  
>> in sage.rings.polynomial.polynomial_element.Polynomial._pari_with_name 
>> (sage/rings/polynomial/polynomial_element.c:33119)()
>>
>> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/libs/pari/gen.so
>>  
>> in sage.libs.pari.gen.gen.Polrev (sage/libs/pari/gen.c:12936)()
>>
>> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/libs/pari/handle_error.so
>>  
>> in sage.libs.pari.handle_error._pari_handle_exception 
>> (sage/libs/pari/handle_error.c:1178)()
>>
>> PariError: variable must have higher priority in gtopoly
>>
>> ---
>>
>> Magma gives two different answers, depending on whether you coerce the 
>> coefficients of f and g into T or not (I don't see why). Neither agree with 
>> the Pari/GP answer, or the answer I compute myself (which is very likely 
>> wrong).
>>
>> Coercing the coefficients into T makes no difference to the resulting 
>> error in Sage.
>>
>> Can someone tell me what I am doing wrong here. I obviously don't know 
>> what I'm doing. I've never really tried to do any genuine computer algebra 
>> before. 
>>
>> Bill.
>>
>>
>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Difficulties with resultant

2014-08-07 Thread Frédéric Chapoton
Hello,

it works for me on sage 6.3.beta8, giving:

2201*xbar^2 + 487324445*xbar + 487325602

which version of sage do you use ? type version() to know that.

By the way, you should rather have asked that question on sage-support or 
on ask.sagemath.org

Le jeudi 7 août 2014 16:03:43 UTC+2, Bill Hart a écrit :
>
> I'm having difficulties with the polynomial resultant function in Sage.
>
> I'm trying to find the resultant of two polynomials. 
>
> I compute the resultant of the polynomials below to be:
>
> 6768454*x^2+257200062*x+20305258
>
> Pari/GP says the resultant is 1, which I don't believe, so I thought I'd 
> try Sage 6.2:
>
> sage: R = Integers(487326487)
> sage: S. = PolynomialRing(R)
> sage: T = QuotientRing(S, x^3 + 3*x + 1)
> sage: U. = PolynomialRing(T)
> sage: f = x^4*y^2 + (x^3 + 1)*y + (x - 2)
> sage: g = (x^3 + 2*x + 1)*y^2 + (x + 1)*y + (x^4 + x^3 + x^2 + 1)
> sage: f.resultant(g)
> ---
> PariError Traceback (most recent call last)
>  in ()
> > 1 f.resultant(g)
>
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/structure/element.so
>  
> in sage.structure.element.NamedBinopMethod.__call__ 
> (sage/structure/element.c:25475)()
>
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>  
> in sage.rings.polynomial.polynomial_element.Polynomial.resultant 
> (sage/rings/polynomial/polynomial_element.c:33908)()
>
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_element.so
>  
> in sage.rings.polynomial.polynomial_element.Polynomial._pari_with_name 
> (sage/rings/polynomial/polynomial_element.c:33119)()
>
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/libs/pari/gen.so
>  
> in sage.libs.pari.gen.gen.Polrev (sage/libs/pari/gen.c:12936)()
>
> /usr/local/sage/sage-current/local/lib/python2.7/site-packages/sage/libs/pari/handle_error.so
>  
> in sage.libs.pari.handle_error._pari_handle_exception 
> (sage/libs/pari/handle_error.c:1178)()
>
> PariError: variable must have higher priority in gtopoly
>
> ---
>
> Magma gives two different answers, depending on whether you coerce the 
> coefficients of f and g into T or not (I don't see why). Neither agree with 
> the Pari/GP answer, or the answer I compute myself (which is very likely 
> wrong).
>
> Coercing the coefficients into T makes no difference to the resulting 
> error in Sage.
>
> Can someone tell me what I am doing wrong here. I obviously don't know 
> what I'm doing. I've never really tried to do any genuine computer algebra 
> before. 
>
> Bill.
>
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.