Похоже, что Mathematica не работает с основными интегралами значений в некоторых угловых случаях. Рассмотрим эти два выражения (которые должны давать одинаковый результат):
Integrate[UnitBox[x]/(x0 - x), {x, -Infinity, Infinity},
PrincipalValue -> True, Assumptions -> {x0 > 0}] /. x0 -> 1 // Simplify
Integrate[UnitBox[x]/(x0 - x) /. x0 -> 1, {x, -Infinity, Infinity},
PrincipalValue -> True]
В Mathematica 7.0.0 я получаю
I Pi+Log[3]
Log[3]
Это было исправлено в более поздних версиях? У кого-нибудь есть идея для (более или менее) общего обходного пути?
РЕДАКТИРОВАТЬ: два выражения выше должны вычислять один и тот же результат, первое путем вычисления общей формы интеграла и оценки его в x0=1
, второе путем выполнения интеграла с x0
, установленным в 1
. Поскольку главное значение Коши имеет точное математическое определение, Mathematica должна дать тот же результат или отказаться отвечать.
РЕДАКТИРОВАТЬ 2: Возможно, более простой пример той же ошибки, помещая коэффициент -1 внутри и снаружи Integral
, дают разные ответы (второй дает правильный ответ, первый - нет):
-Integrate[ UnitBox[x]/(x0 - x), {x, -Infinity, Infinity}, PrincipalValue -> True, Assumptions -> {x0 > 0}]
Integrate[-UnitBox[x]/(x0 - x), {x, -Infinity, Infinity}, PrincipalValue -> True, Assumptions -> {x0 > 0}]