NIntegrate - почему в данном случае в Mathematica 8 он намного медленнее?

I У меня есть код Mathematica, в котором мне нужно численно вычислить тысячи интегралов, подобных этому

NIntegrate[
    (Pi*Cos[(Pi*(-2*x + y))/(1 + y)] + (1 + y)*(-Sin[(2*Pi*x)/(1 + y)] + 
    Sin[(Pi*(-2*x + y))/(1 + y)]))/(E^x*(1 + y)), 
    {x, 0, 100}, {y, 0, 100}
] //AbsoluteTiming

Подынтегральное выражение - прекрасная абсолютно интегрируемая функция без сингулярностей, которая экспоненциально затухает в одном направлении и как 1 / y ^ 3 в другом.

Команда NIntegrate нормально работала в Mathematica 7, но в новейшей версии 8.0.4 она замедляется на два порядка. Я предполагаю, что в новой версии она пытается лучше контролировать ошибку, но за счет этого огромного увеличения времени. Могу ли я использовать какие-то настройки, чтобы вычисления выполнялись с той же скоростью, что и в Mathematica 7?

10
задан Sjoerd C. de Vries 10 December 2011 в 16:06
поделиться