Maarten Derickx on Sun, 18 Jun 2017 01:24:15 +0200


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

polredabs not returning correct transformation map


Dear Pari developers,

Find below an example where polredabs does not return the correct transformation map. The degree 12 example is the one that fails since one should have that subst(f,x,h) = 0, however polredabs almost gives the correct transformation map since subst(f,x,h/5) = 0 so it is just of by a factor of 5. Changing the leading monomial from x^12 to x^11 gives a working example.

Thanks,
Maarten Derickx

                                                   GP/PARI CALCULATOR Version 2.9.1 (released)

                                           i386 running darwin (x86-64/GMP-5.1.3 kernel) 64-bit version

                                                  compiled: Apr  4 2017, gcc version 5.4.0 (GCC)

                                                             threading engine: single

                                                  (readline v6.3 enabled, extended help enabled)


                                                      Copyright (C) 2000-2016 The PARI Group


PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER.


Type ? for help, \q to quit.

Type ?15 for how to get moral (and possibly technical) support.


parisize = 8000000, primelimit = 500000

? f = x^12 + x^7 - 1/5*x^6 - 3*x^5 + 13/5*x^4 + 11/5*x^3 + 2/5*x^2 + 2/5*x + 1/5;

? gh = polredabs(f,1);

? g=gh[1];

? h=gh[2];

? subst(f,x,h)

%5 = Mod(-195293748/5*x^11 + 244181236/5*x^10 - 634884076/5*x^9 + 3564400908/5*x^8 - 2539683564/5*x^7 + 166278100*x^6 - 14647209952/5*x^5 - 1269578400*x^4 + 4072182580*x^3 + 3017386300*x^2 - 1562284000*x - 7518315624/5, x^12 - 2*x^11 + 2*x^10 - 11*x^9 + 13*x^8 + 15*x^7 - x^6 - 5*x^5 + 5)

? subst(f,x,h/5)

%6 = Mod(0, x^12 - 2*x^11 + 2*x^10 - 11*x^9 + 13*x^8 + 15*x^7 - x^6 - 5*x^5 + 5)

? f = x^11 + x^7 - 1/5*x^6 - 3*x^5 + 13/5*x^4 + 11/5*x^3 + 2/5*x^2 + 2/5*x + 1/5;

? gh = polredabs(f,1);

? g=gh[1];

? h=gh[2];

? subst(f,x,h)

%11 = Mod(0, x^11 - 2*x^10 + 2*x^9 - 11*x^8 + 13*x^7 + 15*x^6 - x^5 - 5*x^4 - 5)