![]() |
![]() |
#1 |
Nov 2004
128 Posts |
![]()
M[p_]:=2^p-1
LL[p_]:=Module[{s,c,counter}, If[PrimeQ[p]==False,Print["The exponent must be prime"]]; s=4; c=M[p]; counter=0; iter=p-1; Print["Iteration : 0 "," / ",iter]; For[i=1,i<iter,i++, s=Mod[s^2-2,c]; counter++; If[Mod[counter,10^3]==0,Print["Iteration : ",counter," / ",iter]] ] If[s==0,Print["is prime"],Print["is not prime"]] ] '---- Test run -----' ---------------------------------------------- LL[11119]//Timing Iteration : 0 / 11118 Iteration : 1000 / 11118 Iteration : 2000 / 11118 Iteration : 3000 / 11118 Iteration : 4000 / 11118 Iteration : 5000 / 11118 Iteration : 6000 / 11118 Iteration : 7000 / 11118 Iteration : 8000 / 11118 Iteration : 9000 / 11118 Iteration : 10000 / 11118 Iteration : 11000 / 11118 " is not prime" {15.112 Second,Null} Hello, I was experimenting with Mathematica v5.0 about the Lucas_Lehmer test. As you can see above the code is extremely slow. It needs 15+ sec to test the exponent where as Prime95 only takes about 0.5 sec. Can someone explain why is this happening because as far as I am concerned Mathematica is believed to be one of the fastest numerical computing platforms. Any help would be grateful. |
![]() |
![]() |
#2 |
Jul 2004
Potsdam, Germany
14778 Posts |
![]()
I remember that Louis Helm (one of the creators of SoB - which uses the same algorithmic implementation as Prime95) once said that an implementation in Java would be roughly 30 times slower.
I think the reason here is similar: The speed difference (incidently 30 times as well) supposely comes from the fact that Mathematica's routines are not hand-optimized for this exact purpose and architecture (does Mathematica use SSE2/FFTs/IBDWT?). In addition, I believe some "tricks" prime95 uses can only be applied due to special properties of mersenne numbers. Mathematica can't take that into account, I guess. Last fiddled with by Mystwalker on 2005-02-10 at 14:52 |
![]() |
![]() |
#3 |
Dec 2003
Hopefully Near M48
2·3·293 Posts |
![]()
Mathematica is slow in other things too. It took Mathematica hours to compute just 25,000 digits of Zeta(3). Other programs can do it in a fraction of a second on the same computer.
|
![]() |
![]() |
#4 |
Jan 2005
Transdniestr
503 Posts |
![]()
Is Maple faster in general?
|
![]() |
![]() |
#5 |
Nov 2004
2×5 Posts |
![]()
Thanks anyway for your replies.
I am trying to comprehent the deeper things apon LL, that experiment showed me a lot. Mayber I'll try something hand-optimized.. CU later sievers |
![]() |
![]() |
#6 |
Feb 2021
Salt Lake City, UT
29 Posts |
![]()
I managed to exclude a giant Mersennes with Mathematica https://www.mersenneforum.org/showth...ht=Mathematica Pity I later learned they were both known but with Monte Carlo it worked below a Ghz x Minute and they are both above the biggest 2021 Mersenne prime known.
Last fiddled with by mattprim on 2021-02-09 at 16:51 |
![]() |
![]() |
#7 |
"Curtis"
Feb 2005
Riverside, CA
3·1,579 Posts |
![]()
"excluded" = trial-factored. Trial-factoring is not at all related to a primality test, and comparing the speed of those two things is akin to someone asking what the 99th power of 99 is, and you answering "Well, I added 99 and 99 really fast!"
|
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
why is prime95 much faster than mathematica? | bbb120 | Software | 19 | 2019-04-21 16:20 |
Long Division in Mathematica | JuanTutors | Information & Answers | 7 | 2007-06-14 17:29 |
Mathematica 6 Released | jinydu | Lounge | 0 | 2007-05-07 05:05 |
Mathematica question-solving systems | Zeta-Flux | Math | 6 | 2005-09-22 21:47 |