From: Duncan Murdoch <murdoch_at_stats.uwo.ca>

Date: Wed 29 Jun 2005 - 23:04:30 EST

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Wed Jun 29 23:10:20 2005

Date: Wed 29 Jun 2005 - 23:04:30 EST

On 6/29/2005 7:32 AM, Robin Hankin wrote:

*> Hi
**>
*

> I have been wondering if there one can speed up calculating small powers

*> of numbers such as x^8 using multiplication.
**>
**> In addition, one can be a bit clever and calculate x^8 using only 3
**> multiplies.
**>
**> look at this:
**>
**>
**> > f1 <- function(x){x*x*x*x*x*x*x*x}
**> > f2 <- function(x){x^8}
**> > f3 <- function(x){x2 <- x*x;x4 <- x2*x2;return(x4*x4)}
**>
**> [so f1() and f2() and f3() are algebraically identical]
**>
**>
**> > a <- rnorm(1000000)
**> > system.time(ignore <- f1(a))
**> [1] 0.50 0.17 2.88 0.00 0.00
**>
**> > system.time(ignore <- f2(a))
**> [1] 0.31 0.03 1.40 0.00 0.00
**>
**> > system.time(ignore <- f3(a))
**> [1] 0.10 0.07 0.18 0.00 0.00
**>
**>
**> [these figures show little variance from trial to trial]
**>
**>
**> I was expecting f2() and f3() to be about the same.
**> I was not expecting a factor of 3 there!
**>
**> anyone got any comments?
*

Duncan Murdoch

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Wed Jun 29 23:10:20 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:33:06 EST
*