Karim BELABAS on Sat, 7 Sep 2002 15:39:31 +0200 (MEST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: yet another rnfkummer() posting |
On Thu, 5 Sep 2002, Igor Schein wrote: > On Thu, Sep 05, 2002 at 04:41:41PM +0200, Karim BELABAS wrote: > > On Thu, 5 Sep 2002, Igor Schein wrote: > > > This one is gone now, but here's a different one: > > > > > > ? bnfisnorm(bnfinit(polsubcyclo(7,3)),[[;]]); > > > *** bug in GP (Segmentation Fault), please report > > > > > > Stable version doesn't segfault. > > > > Yet another typo. Are we done with regressions now ? I'd like to release a > > snapshot ASAP. > > Here's another regression: > > ? setrand(1603990204);rnfkummer(bnrinit(bnfinit(quadpoly(3413,y),1),25,1),[5,1;0,1]); > *** bug in gadd, please report [and a bit later:] > ? setrand(279165716);rnfkummer(bnrinit(bnfinit(quadpoly(-231,y)),25,1),matdiagonal([5,1,1])) > *** bug4 in kummer. [and also:] > ? setrand(1);rnfkummer(bnrinit(bnfinit(y^6-19*y^5-11*y^4-6*y^3-15*y^2-11*y+15,1),4 ,1),[2,1,1;0,1,0;0,0,1]); These three are gone. Unfortunately, the fix was very complicated (affects about 10 different files, buch[23].c being central...). Funny how many undocumented assumptions you uncover when changing innocent looking-code [ it was essential that the factorbase stored in bnf be sorted according to the underlying rational primes ]. I'm afraid you will have to re-run your regression suite now. At least the code is simpler now, the globals are gone, and a number of hacks erradicated [ e.g I merged 4 different routines related to smooth elements and their detection. The resulting code is about the same size as, or smaller than, any of the previous 4 ones. Faster too. ] Hopefully we're converging somewhere. Karim. P.S: By the way: > ? setrand(2);rnfkummer(bnrinit(bnfinit(quadpoly(-6580,y)),9,1),matdiagonal([3,1,1, 1])); > *** not an Abelian extension in rnfnormgroup. is not a regression. It's also broken in the stable version. > ? \p400 > realprecision = 404 significant digits (400 digits displayed) > ? setrand(3);rnfkummer(bnrinit(bnfinit(quadpoly(2540,y),1),9,1),[3,1;0,1]); > *** precision too low in isunit. is bnfinit striking again, due to our cheating on Bach's constant: setrand(1414185642); bnf = bnfinit(y^4 + 635*y^2 + 403225,,[0.3]); is incorrect [ regulator is twice too large, class group too small. 0.3 is the default value ]. setrand(1414185642); bnf = bnfinit(y^4 + 635*y^2 + 403225,,[0.4]); is OK. -- Karim Belabas Tel: (+33) (0)1 69 15 57 48 Dép. de Mathematiques, Bat. 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/