The most efficient Fibonacci algorithim?
- To: mathgroup at smc.vnet.net
- Subject: [mg23357] The most efficient Fibonacci algorithim?
- From: zeno at magicnet.net
- Date: Thu, 4 May 2000 02:59:24 -0400 (EDT)
- Organization: Verio
- Sender: owner-wri-mathgroup at wolfram.com
On page 128 of the book "The Mathematica Programmer" by Roman Maeder (the Mathematic 2.2 edition) is this Mathematica program to compute Fibonacci numbers... fibj[n_]:= Module[{r11=1,r12=0,r22=1,digits=IntegerDigits[n-1,2],i,t}, Do[If[digits[[i]]==1, {r11,r22}={r11(r11+2r12),r12(r11+r22)}; r12=r11-r22, t=r12(r11+r22); {r11,r12}={r11(r11+2r12)-t,t}; r22=r11-r12], {i,Length[digits]-1}]; If[digits[[-1]]==1, r11(r11+2r12), r11(r11+r22)-(-1)^((n-1)/2)]] The book says this is the most efficient one of a few mentioned in the book. Does anyone know of any other programs that are faster? This one really screams...I am curious if anyone has done anything even better.