Karim Belabas on Fri, 27 Jul 2018 03:32:09 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Running time of bnfinit() |
* Jeroen Demeyer [2018-07-26 09:38]: > do you happen to have a rule-of-thumb to estimate the running time of a > bnfinit() call, say in terms of the degree and discriminant? Not really. An average estimate, possibly, but with *huge* deviations... Basically, [assuming GRH] (not the defining polynomial!), a discriminant < 10^40 should be fine [between a few seconds and a few minutes] but there will be bad exceptions. Compare the following "random" fields with roughly the same discriminants, around 10^40-ish: - bnfinit(polcyclo(31)) : trivial (0.1 s, although degree 30!), - bnfinit(x^2 - nextprime(10^40)) : "easy" (3 minutes) - bnfinit(x^2 - nextprime(10^44)) : "tougher" (40 minutes) Conversely a few fields of degree ~100 have been "easily" computed in about 10-20 hours, but don't expect to succeed every time... > For Sage, we want to have a heuristic of when it's "easy" to compute > bnfinit(). I don't know how to guarantee that it'll be easy. In any case, you should never compute a bnfinit when it's not absolutely necessary. [ I.e. you should do it on the fly when the extra structure is a prerequisite for a specific function call. ] 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] `