Что здесь происходит (Mathematica версия 8.x):
NIntegrate[Log[1/2 + Sqrt[1/4 - 1/(4 x^2)]]/x, {x, 1, Infinity}]
--> -0.171007
Integrate[Log[1/2 + Sqrt[1/4 - 1/(4 x^2)]]/x, {x, 1, Infinity}] // N
--> 0.171007
Значение NIntegrate[]
является правильным.Я сталкивался с проблемами с PrincipalValue
выборками ранее, но a) они были исправлены в mma8 и b) этот интеграл не имеет или, по крайней мере, не должен иметь полюсов в области интеграции.
EDIT: Благодаря людям, предлагающим решения этой проблемы, общее решение будет, например, использовать исключительно NIntegrate
.Однако мне интересно узнать, почему именно это происходит и является ли эта ошибка предсказуемой.