Karim Belabas on Tue, 20 Nov 2018 15:40:13 +0100


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

Re: Please test pari-2.11.1 prerelease 1


* Jeroen Demeyer [2018-11-20 11:24]:
> This looks like a bug:
> 
> gp> rnf = rnfinit(nfinit(y^2 + 7), x);
> gp> rnfeltreltoabs(rnf, x)
> %2 = Mod(x, x^2 + 7)
> 
> In PARI-2.11.0, this returned Mod(0, x^2 + 7) which is the correct answer.
> It could also be that I'm misunderstanding something regarding the rnf
> functions...

No, you are right. I introduced this one while trying to support
properly relative equations of degree 1 [ useless per se, but a possible
limiting case... ]. The underlying problem was that in a tower of
extensions L / K / Q, 
1) a t_COL of length [K:Q] would represent an element of K on its
integer basis K.zk

2) a t_COL of length [L:Q] would represent an element of L on its
integer basis L.zk

3) when [L:K] = 1 we can't distringuish between the 2 possibilitie.
Except if the generating polynomial representing K over Q *and* the
generating polynomial representing L over Q are the same, in which case
L.zk = K.zk and it does not matter.

I was trying to support this in a minimal way by imposing that this be the case
in rnfequation() [in commit 6ca85ae5]. Even though it supports the above, it
then breaks the documentation of rnfequation itself and introduces
problems such as the one you hit.

We will revert that commit for 2.11.1, I'll find a more complicated way
to support this for 2.12 without touching rnfequation [ I'm afraid it will
involve special casing the L = K = case version in many rnf* functions ]

Thanks for spotting this !

Cheers,

    K.B.
--
Karim Belabas, IMB (UMR 5251)  Tel: (+33) (0)5 40 00 26 17
Universite de Bordeaux         Fax: (+33) (0)5 40 00 21 23
351, cours de la Liberation    http://www.math.u-bordeaux.fr/~kbelabas/
F-33405 Talence (France)       http://pari.math.u-bordeaux.fr/  [PARI/GP]
`