       Re: How to avoid repeated recalculation of the same function

• To: mathgroup at smc.vnet.net
• Subject: [mg132675] Re: How to avoid repeated recalculation of the same function
• From: Joe Gwinn <joegwinn at comcast.net>
• Date: Sat, 3 May 2014 03:40:35 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• Delivered-to: l-mathgroup@wolfram.com
• Delivered-to: mathgroup-outx@smc.vnet.net
• Delivered-to: mathgroup-newsendx@smc.vnet.net
• References: <ljvdcg\$bal\$1@smc.vnet.net>

```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