No, the function does actually genuinely assume that the inputs are 
primitive.

In Nemo, I simply disallowed the case of constant inputs.

For the non-primitive case there's a little more work to be done.

Specifically if content(a) = c1 and content(b) = c2 then if 
fmpz_poly_bezout(primitive_part(a), primitive_part(b)) returns r, s, t
you want to return r*c1^(length(b) - 1)*c2^(length(a) - 1), s*c1^(length(b) 
- 2)*c2^(length(a) - 1), t*c1^(length(b) - 1)*c2^(length(a) - 2),
I believe.

Bill.

On Tuesday, 27 January 2015 17:53:18 UTC+1, vdelecroix wrote:
>
> I meant: "The function assumes that f or g is not constant" instead of 
> "both primitive". As far as I understand, this is the only case where 
> something is broken, isn't it? 
>
> 2015-01-27 17:20 UTC+01:00, Bill Hart <[email protected] 
> <javascript:>>: 
> > I'm not sure what you mean. The flint documentation already disallows 
> this 
> > case. It can only occur when there is nontrivial content. This is 
> > presumably why it is disallowed in flint's xgcd function. 
> > 
> > On Tuesday, 27 January 2015 17:11:35 UTC+1, vdelecroix wrote: 
> >> 
> >> Then it will be much simpler to adapt. Could you update the 
> >> specification of the function in the FLINT documentation then? 
> >> 
> >> Vincent 
> >> 
> >> 2015-01-27 16:51 UTC+01:00, Bill Hart <[email protected] 
> >> <javascript:>>: 
> >> > I remember the problem now. 
> >> > 
> >> > resultant(R(2), R(2)) = 1 
> >> > 
> >> > since it is an empty product. 
> >> > 
> >> > But there is no Z-linear combination of R(2) and R(2) which gives 1. 
> So 
> >> > 
> >> the 
> >> > 
> >> > input has to be disallowed. 
> >> > 
> >> > It's only a problem for constant polynomial inputs that are not 
> coprime 
> >> > 
> >> (as 
> >> > 
> >> > elements of Z) though. For higher degrees there are powers of the 
> >> contents 
> >> > that the polynomials can be multiplied by that will work. 
> >> > 
> >> > On Tuesday, 27 January 2015 16:28:46 UTC+1, Bill Hart wrote: 
> >> >> 
> >> >> For the time being I'm just going to modify Nemo. It would probably 
> be 
> >> >> 
> >> >> inefficient to do anything else. 
> >> >> 
> >> >> On Tuesday, 27 January 2015 16:22:39 UTC+1, vdelecroix wrote: 
> >> >>> 
> >> >>> Hi Bill, 
> >> >>> 
> >> >>> 2015-01-27 16:16 UTC+01:00, Bill Hart <[email protected]>: 
> >> >>> > This turns out not to be a bug. 
> >> >>> > 
> >> >>> > The documentation requires that the inputs be primitive, which in 
> >> the 
> >> >>> > example given, they aren't. The function does work if passed the 
> >> >>> > polynomials R(1) and R(1). 
> >> >>> 
> >> >>> I see. Thanks I will update the trac ticket and the way we use the 
> >> >>> function. 
> >> >>> 
> >> >>> > However, this bug also exists in Nemo. So thanks for pointing it 
> >> out. I 
> >> >>> > 
> >> >>> can 
> >> >>> > 
> >> >>> > fix that, at least. 
> >> >>> 
> >> >>> Do you mean that you will change the specification of the FLINT 
> >> >>> function or that you will only modify Nemo ? 
> >> >>> 
> >> >>> Vincent 
> >> >>> 
> >> >> 
> >> > 
> >> > -- 
> >> > 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 [email protected] <javascript:>. 
> >> > To post to this group, send email to [email protected] 
> >> <javascript:>. 
> >> > 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 [email protected] <javascript:>. 
> > To post to this group, send email to [email protected] 
> <javascript:>. 
> > 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to