Karim BELABAS on Thu, 12 Dec 2002 19:28:15 +0100 (MET) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Preparing bugfix release 2.1.5 |
On Thu, 12 Dec 2002, Bill Allombert wrote: > As some of you may have gathered form the CVS, I am preparing behind the scene > a 2.1.5 bug fix release, so if you are aware of bugs in 2.1.4 that are not > yet fixed in the CVS, please report them to me. > > I try to fix 2.2.4 F32: > 32- polredabs fails to reduce > x^8-2*x^7-34*x^6+78*x^5+265*x^4-628*x^3-389*x^2+1237*x-449 > [typo in chk_gen_init: skipfirst not initialized properly] > > I have some questions: > 1) I do not thing the bracketed comment is accurate. I think the skipfirst > problem was fixed a long time ago in 2.2.3 F28 and 2.1.4 F7. It is correct, though not highly accurate. It is a "skipfirst" problem, caused by a typo [ picking the first element of compositum(,) instead of the last ], so that the skipfirst parameter was initialized with too large a value. [ skipfirst := the 'skipfirst' basis elements of the order generate a strict subfield of the splitting field of the polynomial ] > 2) The patch responsible of the fix is as follow: > > --- src/basemath/base1.c 2002/07/15 13:29:58 1.99 > +++ src/basemath/base1.c 2002/08/03 15:37:29 1.100 > @@ -1771,7 +1771,8 @@ > if (prev && degpol(prev) < N && !gegal(prev,P)) > { > if (degpol(prev) * degpol(P) > 64) continue; /* too expensive */ > - P = (GEN)compositum(prev,P)[1]; > + P = compositum(prev,P); > + P = (GEN)P[lg(P)-1]; > if (degpol(P) == N) continue; > if (DEBUGLEVEL>2 && degpol(P) != degpol(prev)) > fprintferr("chk_gen_init: subfield %Z\n",P); > > This assume the output of polcompositum is sorted by degree. Indeed. > Is it true for 2.1.4 ? Yes. [ sort_factor() called at the end of compositum()->factor()->factpol() ] > Here the current list of bugs in 2.2 that may need to be investigated in 2.1 (18:40) vintsy-karim% diff -ru pari pari.stable | wc 142277 642902 4589839 Given the differences between the two branches, I would stick to absolute minimal changes until we merge them, which should be done ASAP. The source code is more or less stable now, but we have ideas/material for further massive changes. So I guess we should freeze it now and postpone: * Ilya's sizeof(long) and t_EXT patches * your description system + gmp kernel patches * install() support on MacOS X [ too bad, it nearly works now... ] so that we can add and debug them at the _beginning_ of the next development cycle ? I can prepare a final 2.2.5 snapshot for later this evening [ had been meaning to do it anyway, only need to tune t_REAL Karatsuba multiplication, and include Ilya's final readline patches ]. Assuming all is well, we can freeze to 2.2.6-beta just before Christmas holidays, say. Opinions ? Karim. -- Karim Belabas Tel: (+33) (0)1 69 15 57 48 Dép. de Mathématiques, Bât. 425 Fax: (+33) (0)1 69 15 60 19 Université Paris-Sud Email: Karim.Belabas@math.u-psud.fr F-91405 Orsay (France) http://www.math.u-psud.fr/~belabas/ -- PARI/GP Home Page: http://www.parigp-home.de/