Bill Allombert on Fri, 5 May 2000 00:53:40 +0200 (MET DST)

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Bug in Mod (2.0.15)

>But is a "much more correct" answer.  What I see is the following:
>simplify() assumes that any ring in which POLMODs live is a ring of
>principal ideals.  (This assumption is hidden in the algorithm of
>converting to the lowest common denominator when combining POLMODs
>with different moduli).

Not really. PARI assume that all polynomial have coefficient in a _field_.
This is reasonnable, since there is currently no ways to specify rings.
(this is a major problem in the cursed gdivexact function).
PARI works in the ring K(y,z,t)[X] in which the result is true.

> a) a way to represent an element in a quotient by a non-principal
>    ideal in terms of the PARI type system;

Yes, but we have to add support for rings first, and then add ideals.

> I can be wrong, but do not Groebner bases give a canonical system of
> generators of any ideal? 

Not truly. You get a reduced basis which nice reduction property but
it still depend of lot of choice.

> Then if all my assumptions are valid, then
> adding a function to calculate the Groebner basis of the ideal
> generated by [q1,...,qn] and making simplify() use this function may
> be all what is required...

simplify() only handle "stupid" conversion (5+0*I -->5 ; 5*X^0 -->5).
It is  probably gmod that would need to be modified.

Saying that there exists canonical generators for ideals is not the
same thing that saying there are canonical generators for cosets, but
it is probably not a big problem here.

Currently the way PARI implement multivariate polynomial is not
efficient and need to be changed before considering to implement
Groebner basis. 

Moreover writing efficient Groebner basis programs is not easy.