MathGroup Archive 2006

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

Search the Archive

Re: Recalculating values in tables?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg63902] Re: [mg63881] Recalculating values in tables?
  • From: Daniel Lichtblau <danl at wolfram.com>
  • Date: Sat, 21 Jan 2006 01:50:50 -0500 (EST)
  • References: <200601200932.EAA22054@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

AES wrote:
> If I'm evaluating a table with something like
> 
>  Table[ {initialExpressions; f1, f2, Sqrt[(f1-f2)/(f1*f2)}, {iterator} ]
> 
> where  f1, f2, f3  are slow-to-evaluate functions (possibly with 
> explicit variables, which will be the same for all three calls to the 
> f's), I'm tempted to assume that Mathematica will be smart enough to 
> evaluate  f1, f2 and f3 just once, not three times, for each line in the 
> Table.  Is this low risk?
> 
> Or should I always take the messier of route of coding these functions 
> explicitly in my initialExpressions using something like
> 
>  Table[ { initialExpressions;
>             g1=f1;
>             g2=f2;
>             g3=f3;
>             g1, g2, Sqrt[(g1-g2)/(g1*g2)}, {iterator} ]
> 
> Just wondering how far to trust Mathematica in situations like this?


Whether or to what extent reevaluation may take place will depend a lot 
on internal usage of hashing and perhaps other evaluation details. If 
your functions might be slow to evaluate then the precomputation route 
would seem advisable. If you are not sure then generally a small amount 
of experimentation will show whether this is helping, assuming you have 
inputs that are "typical" for the usage in question.

Daniel Lichtblau
Wolfram Research




  • Prev by Date: Re: Recalculating values in tables?
  • Next by Date: Re: associative arrays
  • Previous by thread: Re: Recalculating values in tables?
  • Next by thread: Re: Recalculating values in tables?