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.
