MathGroup Archive 2003

[Date Index] [Thread Index] [Author Index]

Search the Archive

Curious timing of 3 {Re,Im} extractors

  • To: mathgroup at smc.vnet.net
  • Subject: [mg42140] Curious timing of 3 {Re,Im} extractors
  • From: carlos at colorado.edu (Carlos Felippa)
  • Date: Fri, 20 Jun 2003 04:57:37 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

I timed 3 forms that process expr1 + expr2*I forms, where
expr1 and expr2 are real, to extract the Re and Im parts.
(They should not be used with complex fractions).
Times are with 4.2 on a Mac G4/867.

ComplexExpandReIm[z_]:=Module[{iunit,zz}, 
   zz=ComplexExpand[z]/.I->iunit; 
   Return[{zz/.iunit->0,Coefficient[zz,iunit]}]];
ComplexExpandReIm1[z_]:=ComplexExpand[{Re[z],Im[z]}];
ComplexExpandReIm2[z_]:=ComplexExpand[{(z+Conjugate[z])/2,
(z-Conjugate[z])/(2*I)}];

n=200; k=50; z=(a+b*I)^k;
t1=Timing[Do[{x,y}=ComplexExpandReIm [z],{n}]]; Print[t1];
t2=Timing[Do[{x,y}=ComplexExpandReIm1[z],{n}]]; Print[t2];
t3=Timing[Do[{x,y}=ComplexExpandReIm2[z],{n}]]; Print[t3];

{1.53333 Second, Null}
{2.48333 Second, Null}
{5.81667 Second, Null}

The ratio (very roughly 1:2:4) has been fairly consistent over 
sufficiently complicated expressions. I expected the first 
function, which is contrived, to be the slowest one.  
Why is it the fastest?


  • Prev by Date: Re: NonlinearFit
  • Next by Date: Re: Exporting animation into power point
  • Previous by thread: Re: Simplify and Square Root Ratios
  • Next by thread: exporting movie