1 | initial version |
It may happen that integrate(integrate(f(x,y), x, a, b), y, c, d)
fails but that integrate(integrate(f(x, y),y, c, d), x, a, b)
succeeds.
IF your integrand $f(x_1,\cdots,x_{11})$ complies with the preconditions of the Fubini-Tonelli theorem, then $\displaystyle\int f(x_1,\cdots,x_{11})\, dx_i\cdots dx_j$ does not depend of the order of the integration variables order $x_1,\cdots,x_j$.
You might try to search the ordered subsets $x_i, \cdots, x_j$ of your integration variables $x_1,\cdots,x_4$ such as $\displaystyle\int f(x_1,\cdots,x_{11})\, dx_i\cdots dx_j$ has an explicit and convenient form $F(x_1,\cdots x_{11})$. There are $\displaystyle\sum_{i=0}^4 i!\,=\,34$ such subsets.
Programatically using the results of such a "brute force" is made possible by the fact that a "non-integrated" result R will have R.operator()
being integrate
.
Similarly, you may try to loop over the various available integration algorithms.
Using this form, the numerical integration of $F$ over the remaining integration variables is your solution.