| John Cremona on Tue, 17 Mar 2026 16:35:26 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: polred and variants |
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? John On Sat, 24 Jan 2026 at 14:07, Karim Belabas <Karim.Belabas@u-bordeaux.fr> wrote: > > * John Cremona [2026-01-22 22:19]: > [...] > > But it is still true that there is no documentation in this manual for > > any non-obsolete *polred* functions. > > Indeed, here is the complete list of "polred" public functions > (from "grep polred parideclh.h") with comments > > // OBSOLETE, don't use them in new programs > GEN factoredpolred(GEN x, GEN fa); > GEN factoredpolred2(GEN x, GEN fa); > GEN polredord(GEN x); > GEN polred(GEN x); > GEN polred0(GEN x, long flag); > GEN polred2(GEN x); > GEN polredabs(GEN x); > GEN polredabs2(GEN x); > GEN polredabsall(GEN x, long flun); > GEN smallpolred(GEN x); > GEN smallpolred2(GEN x); > GEN rnfpolred(GEN nf, GEN pol, long prec); > > // Expensive but provide canonical representatives > GEN polredabs0(GEN x, long flag); > GEN rnfpolredabs(GEN nf, GEN pol, long flag); > > // Fast, generally best. Possibly smaller discriminant (!) > GEN polredbest(GEN x, long flag); > GEN rnfpolredbest(GEN nf, GEN R, long flag); > > The documentation for the 4 non-obsolete functions is found in ??polredabs, > ??polredbest, ??rnfpolredabs, ??rnfpolredbest. Or gp user's manual. > > > One suggested improvement to the gp documentation for nf_ORIG: it > > seems to me that the second thing returned by the nf_ORIG flag is > > Mod(a,P) and not a itself: in the code I have to use lift() to get the > > polynomial. > > Indeed. The litteral wording was correct (nothing was said about the > type of 'a' and Mod(a,P) is 'a' if already a t_POLMOD mod P) but misleading. > > Now clarified in 'master'. :-) > > Thanks ! > > K.B. > -- > Pr. Karim Belabas, U. Bordeaux > Institut de Mathématiques de Bordeaux UMR 5251 - (+33) 05 40 00 29 77 > http://www.math.u-bordeaux.fr/~kbelabas/