John Cremona on Wed, 18 Mar 2026 09:40:35 +0100


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

Re: polred and variants


On Tue, 17 Mar 2026 at 20:11, Karim Belabas <Karim.Belabas@u-bordeaux.fr> wrote:
>
> * John Cremona [2026-03-17 16:38]:
> > On Tue, 17 Mar 2026 at 15:34, John Cremona <john.cremona@gmail.com> wrote:
> > >
> > > Thanks again for this, Karim.   So (in the absolute case) the
> > > canonical version is polredabs0() (*not) polredabs() which is
> > > obsolete, while the non-canonical "best" version is polredbest().
> > >
> > > Out of interest, what is an example of a polynomial for which the
> > > polredabs and polredbest reductions are different?
> >
> > Ignore that question, I see that  x^4 + 2*x^2 - 12*x + 10 is unchanged
> > by polredbest but becomes x^4+9 with polredabs.
>
> Here's a "nicer" example from ??polredbest.
>
> ? P = X^12+8*X^8-50*X^6+16*X^4-3069*X^2+625;
> ? polredabs(P) == P
> % = 1 \\ canonical
>
> ? poldisc(P)*1.
> % = 1.2622 E55
>
> ? P = polredbest(P);
> ? poldisc(P)*1.      \\ ... but not best
> % = 2.9012 E51
>
> ? P = polredbest(P); \\ ... far from it
> ? poldisc(P)*1.
> % = 8.8704 E44
>
> polredbest is not idempotent and may give better and better results.

Great example (and clearly I should use ?? more than I do).

I need the flag=1 version of polredbest (or polredabs) so now I'll go
and work out how to chain together the polynomials giving the
isomorphisms.  I'm sure that I will be able to do that.

John

>
> Cheers,
>
>     K.B.
> --
> Pr. Karim Belabas, U. Bordeaux, Vice-président en charge du Numérique
> Institut de Mathématiques de Bordeaux UMR 5251 - (+33) 05 40 00 29 77
> http://www.math.u-bordeaux.fr/~kbelabas/