MathGroup Archive 2014

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

Search the Archive

Re: How to avoid repeated recalculation of the same function


In article <ljvdcg$bal$1 at smc.vnet.net>, <pgeipi10 at gmail.com> wrote:

> Hi,
> 
> I'm doing a calculaton that's purly symbolic (no graphing, numerical
> integration, etc.).
> 
> Suppose I have a function f[x_]:=... that's very complex to build. In fact,
> f[x] ends up being a manageable expression (about 30 characters) but it takes
> Mathematica about 30 min to build that expression.
> 
> Another function g[] uses the function f[x] and references it many times.
> I've discovered that g[] actually builds f[x] every time it's referenced
> which takes 30 minutes each time. Theoretically, Mathematica could build it
> once and then use the resulting expression every time it's referenced.
> 
> So how do I accomplish that? That is, how do I make it build f[x] once and
> then use the resulting expression when it's needed?

That bit me a few times as well.

Instead write f[x_]= ..., dropping the colon.

If you write only =, the ... is evaluated once and the result saved
under f[x_].  

If you write :=, the whole ... is saved under f[x_], and evaluated
every time f[x] is invoked.

Joe Gwinn



  • Prev by Date: Re: How to avoid repeated recalculation of the same function
  • Next by Date: Re: Plotting Data By State
  • Previous by thread: Re: How to avoid repeated recalculation of the same function
  • Next by thread: Re: How to avoid repeated recalculation of the same function