Karim Belabas on Wed, 14 May 2008 22:45:56 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: bnfinit perhaps getting stuck? |
* Phil Carmody [2008-05-14 22:16]: > --- On Wed, 5/14/08, Bill Allombert <Bill.Allombert@math.u-bordeaux1.fr> wrote: > > You are using the stable version. Due to several improvement (in > > particular 2.4.0F4 and the new LLL code) I would suggest > > you try the SVN version but actually, I should rather suggest you > > to give up because I do not think this can finish. > > I'm up for still hacking away at it if it's still needed [task requestor bcc:d] > I don't have SVN, but can grab > Development version: pari-2.4.2.alpha.tar.gz, 2183 KBy, Dec 23 00:58:07 2007 > from the website. Rather a development snapshot: http://pari.math.u-bordeaux.fr/cgi-bin/viewcvs.cgi/trunk.tar.gz?root=pari&view=tar (current svn differs significantly from 2.4.2) > > Using \g1 is generally sufficient and keep the logs readable. > > You can try > > grep cglob <your log> > > or if this is too verbose > > grep needed <your log> > > to get a measure of progress. > > Ah, that's very useful to know. It appears that I was making steady progress: > """ > (more relations needed: 171) > ++++ cglob = 2452: new relation (need 2622) > ++++ cglob = 2453: new relation (need 2622) > ... > ++++ cglob = 2470: new relation (need 2622) > ++++ cglob = 2471: new relation (need 2622) > ^C > """ > > Extrapolating how long I ran that most recent verbose run, and how long I ran the original, I would have expected to have found 171 relations. Is the hard and non-deterministic work all done after the requisite number of relations is found? Unfortunately no, almost all the work is concentrated in this non-deterministic search for relations [ unless the field is really "simple" ], and it's not that simple. The (more relations needed: ...) is likely to appear many more times [ each time we incorporate a batch of random relations ]. In short, you need: * decreasing xxx in (need xxx) [ --> 0 ] * decreasing yyy in (more relations needed: yyy) [ --> go on with xxx = yyy ] * decreasing zzz in "check = ..." [ when this is 1, we are done ] Try out "trivial" fields like bnfinit(x^4 - 2) to get the hang of it. Or bnfinit(x^17-17) for a more "realistic" example [ still a few seconds ] Cheers, K.B. -- Karim Belabas, IMB (UMR 5251) Tel: (+33) (0)5 40 00 26 17 Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50 351, cours de la Liberation http://www.math.u-bordeaux.fr/~belabas/ F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP] `