HoldAll for Integrate
- To: mathgroup at smc.vnet.net
- Subject: [mg97923] HoldAll for Integrate
- From: Tammo Jan Dijkema <T.J.Dijkema at gmail.com>
- Date: Thu, 26 Mar 2009 05:18:07 -0500 (EST)
The following commands yield unexpected output:
x=10;
Integrate[x^2, {x,0,1}]
That is because Integrate does not have attributes HoldAll, so that the
second command will be interpreted as Integrate[100, {10,0,1}] which is
not a command that Integrate can work with (so a warning message is
returned).
However, I can add the attribute HoldAll to Integrate myself:
SetAttributes[Integrate, HoldAll];
I'm not very sure what to expect when now trying the same experiment
(the correct answer 1/3 would be nice), but the actual output surprised
me:
x=10;
Integrate[x^2, {x,0,1}]
Yields as output: 0 (without any warnings). Could anyone explain why I
should have expected this result?
On a side note, I found a similar in the Tech Support column of the
Mathematica Journal Volume 6, Issue 2, by Carl Roy. He tried the
integral without limits:
x=10;
SetAttributes[Integrate, HoldAll];
Integrate[x^2, x]
In the journal, the output 1000/3 is mentioned, whereas in Mathematica
7.0.1 this outputs 1000.
Again, does anyone understand this?
Regards,
Tammo Jan Dijkema