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?