У меня есть две функции
std::complex<double> foo(double x, double y);
double bar(double x, double y);
, и я пытаюсь вычислить следующий интеграл:
\int dx \int dy foo(x,y)*bar(x,y) .
Конечно, можно было бы разделить этот интеграл на его действительную и мнимую части и интегрировать их отдельно, используя подпрограммы, предоставляемые GSL, однако функция bar
очень затратна в вычислительном отношении (и время выполнения важно), так что я бы хотел избежать вызова bar
дважды. Есть ли какая-либо библиотека, которая позволила бы мне выполнить эту интеграцию (или у вас есть предложение, как выполнить этот интеграл без необходимости вдвое больше вызывать bar)? класса.