Karim Belabas on Tue, 17 Feb 2015 07:42:22 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: moebius function |
* Chris De Corte [2015-02-17 04:34]: > Your moebius function seems to do calculations for very high > figures.But your prime function seems to only go for low figures. prime(n) uses a naive O~(n) algorithm (see ??prime), whereas moebius() calls factor / factorint which use subexponential algorithms in exp O~(log n)^(1/2). > Is your moebius then reliable? It is to the extent factor() is: there is a remote possibility that a composite > 2^64 is incorrectly considered as prime (??factor). [No example is known at present] Use default(factor_proven, 1) to get rid of this possibility (or set factor_proven = 1 in your gprc). This will slow down a little the arithmetic kernel, but it may be tolerable, or even negligible, in your application ( at worst O(log n)^logloglog(n) extra cost when needing to factor the integer n ) In any case, moebius() will remain much faster than prime() :-) 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 69 50 351, cours de la Liberation http://www.math.u-bordeaux.fr/~kbelabas/ F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP] `