John Cremona on Thu, 22 Jan 2026 16:05:33 +0100


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

polred and variants


In the  manual https://pari.math.u-bordeaux.fr/pub/pari/manuals/2.18.1/libpari.pdf
there are mentioned a whole lot of functions called 'polred' with
various prefixes and suffixes.  In fact the string 'polred' appears 20
times, all on p.327 or in the index.

None of these have any documentation at all, except for the comment on
p.327 "use polredbest" -- but polredbest is not referred to anywhere
else in the manual.

Please may we add documentation for some or all these functions to
this manual?  I have a C program where I successfully use both both
plain polredabs() which juIs there any documentation anywhere st
returns one reduced polynomial, and also polredabs0() with flag
nf_ORIG which also returns a polynomial giving one root in terms of
the other.  That is useful.  From gp I can see documentation using
??polredabs which says that the library function is called
polredabs0(), but does not mention polredabs() in the library --
should I stop using that but use polredabs0() with flag=0?

I know about polredbest() but my polynomials have small degree and
polredabs is fast for them.   I currently use flag nf_ORIG but am
about to start to use nf_ADDZK so that I also get the integral basis.
I think that to get both the nf_ORIG polynomial I need to use as flag
nf_ORIG||nf_ADDZK (is that right?) and the output will be of the form
[[reduced-poly, root_poly], [list of integral basis]].  Again, is that
right?  The gp flags are differernt from the library flags (only
numerical 1 and 4 not the symbolic nf_ORIG etc.)

Thanks,

John