fixed in 10.1
Consider a complex logarithm where the branch cut is defined along the negative axis. Then for $r$ and $\eta$ real and positive we can write
$ \lim_{\eta \to 0} \log(-r+ i \eta) = log (r) + i \pi \\ \lim_{\eta \to 0} \log(-r- i \eta) = log (r) - i \pi $
which reflects the fact that in the first case ($+ i \eta$) we are approaching the branch cut from above, while in the second case ($-i \eta$) from below.
In Mathematica one can use Limit
to reproduce this behavior, i.e. by writing
Log[-m^2 - I eta]
Limit[%, eta -> 0, Assumptions -> m^2 > 0]
Log[-m^2 + I eta]
Limit[%, eta -> 0, Assumptions -> m^2 > 0]
In the first case I get Log[m^2] - I Pi
and in the second Log[m^2] + I Pi
. This is correct and fine.
However, if I write
a + Log[-m^2 - I eta]
Limit[%, eta -> 0, Assumptions -> m^2 > 0]
a + Log[-m^2 + I eta]
Limit[%, eta -> 0, Assumptions -> m^2 > 0]
something very weird happens. In both cases Mathematica 10 returns
a + Log[m^2] + I Pi
. To me this is obviously wrong. Since a
does not depend on eta
it should not influence the imaginary part in any way. By the way you can basically replace a
by anything (e.g 1
or "a"
) and still get the same wrong result.
I checked this with different Mathematica versions and the problem is present starting with version 9. Mathematica 7 and 8 on the contrary return correct results in all cases.
So is there something I'm missing about the way how Limit
works, or is it a bug?
P.S. I though that it might make sense to discuss this here before reporting it to WRI. If it isn't a bug, then of course there is also nothing to report.
Direction
. However, againLimit[Log[-m^2 + I eta], eta -> 0, Assumptions -> m^2 > 0, Direction -> -1]
andLimit[Log[-m^2 + I eta], eta -> 0, Assumptions -> m^2 > 0, Direction -> 1]
give correct results, whileLimit[a+Log[-m^2 + I eta], eta -> 0, Assumptions -> m^2 > 0, Direction -> -1]
andLimit[a+Log[-m^2 + I eta], eta -> 0, Assumptions -> m^2 > 0, Direction -> 1]
produce wrong output in MMA 9 and 10 but evaluate properly in MMA 7 and 8. $\endgroup$