Повышение не имеет многомерных квадратур, кроме Монте-Карло, которое является избыточным в 2d. Причина, по которой дела идут медленно, заключается в том, что трапециевидная квадратура эффективна только для интегрирований periodi c. Из вашей жалобы я предполагаю, что f
не является ни периодом c в x
, ни y
. Отмените trapezoidal
для tanh_sinh
, и все должно работать лучше.
Обратите внимание, что в вашем конкретном примере f(x,y) = sin(x)*sin(y)
, подынтегральное выражение является отделимым, поэтому вам не нужно использовать многомерную квадратуру; Вы можете использовать продукты 1d квадратур. (Я не хочу придираться, потому что я думаю, что ваш пример не должен восприниматься слишком буквально, но, тем не менее, это важная оптимизация, если вы можете его использовать.)