From: Leo Alekseyev on 18 Mar 2010 05:32 Consider the following symbolic expression, evaluated with Mathematica 7: Integrate[(u - t)*BesselY[0, 2*t], {t, 0, u}] I am seeing a behavior where the symbolic results of this integration are different depending on the name of the symbol 'u'. In particular, if I use something that precedes 't' in the alphabet, such as 's', the result is (-Pi^(-1) + s*(Pi*s*BesselY[0, 2*s]* StruveH[-1, 2*s] + BesselY[1, 2*s]* (-1 + Pi*s*StruveH[0, 2*s])))/2 however, if 'u' is used, the result is If[u > 0, (1/2)* (-MeijerG[{{1}, {1/2}}, {{1, 1}, {0, 1/2}}, u^2] + Pi*u^2*(BesselY[0, 2*u]*StruveH[-1, 2*u] + BesselY[1, 2*u]* StruveH[0, 2*u])), Integrate[(-t)*BesselY[0, 2*t] + u*BesselY[0, 2*t], {t, 0, u}, Assumptions -> u <= 0]] Note that if I now use Assumptions->{u > 0} in the integration, the two symbolic answers become the same. Numerical evaluation of the two symbolic answers also yield the same result. Nonetheless, I find it alarming that the symbolic result is sensitive to variable naming. In fact, using Trace[] I can see that the integration routine receives slightly different inputs for the two cases: Integrate[Times[Plus[Times[-1, t], u], BesselY[0, Times[2, t]]], List[t, 0, u]] vs Integrate[Times[Plus[s, Times[-1, t]], BesselY[0, Times[2, t]]], List[t, 0, s]] However, the fact that the output is sensitive to whether the input contains Plus[foo,bar] or Plus[bar,foo] is unexpected. It is plausible that two different (but equivalent) input forms yield two different (but equivalent) output forms. In this case, however, it doesn't look like the output forms are equivalent.
|
Pages: 1 Prev: How to set $UserBaseDirectory in the Workbench? Next: solving equations |