Bill Allombert on Fri, 05 Dec 2008 00:10:51 +0100


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

Re: lift of FFELT


On Thu, Dec 04, 2008 at 01:18:09PM +0100, Xavier-François Roblot wrote:
> Hi guys,
> 
> 
> at the moment, applying lift() to an FFELT results in doing nothing (cf. 
> gen3.c:2877). I think it would more sensible to return the corresponding 
> polynomial with coefficients lifted in Z. I know there are other ways to 
> achieve this result but I believe that would be consistent with the use 
> of lift() to go from INTMOD (which are also elements of a finite ring) 

Use .pol.

As we already mentionned in this list, lift() is problematic due to
variable ordering. A large motivation of the FFELT was to insulated them
of the internal modular representation and avoid the need to assign
them a variable priority. Consider

a=ffgen(ffinit(2,2,a))
lift(y-a)
  or worse:
lift('a-a)
This would return an invalid object.

> to INT. BTW, ffgen for primitive finite fields does not work:
> 
> (12:48) gp > ffgen(ffinit(5,1), x)
>   ***   at top-level: ffgen(ffinit(5,1),x)
>   ***                 ^--------------------
>   *** ffgen: bug in PARI/GP (Segmentation Fault), please report
> 
> so the only to get a generator of the multiplicative group is to use 
> znprimroot which returns a INTMOD. Hence, the need to have one common 
> function to deal with primitive and imprimitive cases at the same time.

This one is a new bug introduced in revision 11369 with the always scary
comment 'minor cleanups'...

It should be fixed in revsision 11379. Thanks!

Cheers,
Bill.