Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

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

Search the Archive

Fine control of evaluation

  • To: mathgroup at smc.vnet.net
  • Subject: [mg126448] Fine control of evaluation
  • From: Brentt <brenttnewman at gmail.com>
  • Date: Fri, 11 May 2012 00:13:52 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

Hello, I am struggling with evaluation control and was hoping someone might
point me in the right direction. I vaguely remember seeing something in the
manual or the tutorials addressing this issue, but I can't find the section
I saw it in.

How does one get fine control over things wrapped in Hold and HoldForm. Say
I have some functions

func1[x_]:= f[x];
func2[x_] := g[x];
step1 = HoldForm[ func1[x]+ func2[x] ];

Now say I want the statements wrapped in HoldForm,  func1[x]+ func2[x]  to
evaluate to f[x]+ func2[x]

I thought naturally it would be something like

step2 = HoldForm[ Evaluate[func1[x]]+ func2[x] ] ;

 But then HoldForm seems a bit overzealous about it's task, and outputs
Evaluate[func1[x]]+ func2[x]---it leaves Evaluate unevaluated.  (I tried
wrapping it func1[x] in ReleaseHold to no avail.)

The above is just pseudocode, Maybe there is some specifics about what I
was actually doing that was causing the unintuitive behavior (i.e. HoldForm
holding Evaluate, instead of, well, evaluating.) What I was doing was more
along these lines:
----------------
ubounds= {u,0, pi};
vbounds={v,0,2pi};
t[dir_]:= D[s[u,v],dir_];    (*where dir_ is going to be either u or v*)

(*here is the difficult part:*)
formattedOutput= Integrate[HoldForm[t[u]] , ubounds, vbounds ]
//TraditionalForm;
----------------
The issue is that I want the t[u] wrapped in the HoldForm to evaluate to
D[s[u,v],dir_], and hold that. If I wrap it in Evaluate, HoldForm holds
Evaluate (puzzling), and tries to integrate Evaluate as if it is the
integrand. I've tried all kinds of permutations of HoldForm, Defer,
ReleaseHold, Evaluate, and I haven't had anything to work.

Thank you for any help or pointing me in the right direction


  • Prev by Date: Re: Problem Importing web site in Mathematica: How to by pass pages asking for login credentials
  • Next by Date: Re: File size 5.5MB
  • Previous by thread: Re: How to combine 3D Graphics?
  • Next by thread: Re: Fine control of evaluation