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
- References:
- Recalculating values in tables?
- From: AES <siegman@stanford.edu>
- Recalculating values in tables?