# numerics – How to use parallel computation in mathematica for numerical Integration

I have a multi dimensional integral and I need to integrate it numerically and than plot it over an extra variable for zeta = 0.5.

``````g(kx_, ky_, k1x_, k1y_, qx_, qy_, zeta_, zz_) := (1/((1 + Exp(-Sqrt(k1x^2 + k1y^2) + zeta*k1x*Cos(zz) +
zeta*k1y*Sin(zz)))*(1 +
Exp(-Sqrt(kx^2 + ky^2) + zeta*kx*Cos(zz) +
zeta*ky*Sin(zz)))*(1 +
Exp(Sqrt((kx + qx)^2 + (ky + qy)^2) + zeta*(kx + qx)*Cos(zz) +
zeta*(ky + qy)*Sin(zz))*(1 +
Exp(Sqrt((k1x - qx)^2 + (k1y - qy)^2) +
zeta*(k1x - qx)*Cos(zz) + zeta*(k1y - qy)*Sin(zz))))));
PolarPlot(NIntegrate(g(kx, ky, k1x, k1y, qx, qy, 0.5, zz), {kx, -1, 1}, {ky, -1,
1}, {k1x, -1, 1}, {k1y, -1, 1}, {qx, -1, 1}, {qy, -1, 1}), {zz,
0, 2 Pi})
``````

my problem is that, it take many hours (more than 10 hours) without answer. my solution was to calculate the integral for some discrete set of angles, and than plot it, but I am searching for more better way.
based on searching in site,

Parallelizing Numerical Integration in Mathematica

it may be possible to use parallel computation to plot it. my knowledge in Mathematica is limited and I couldn’t understand what the role of index “i” is in that link.
Would someone please tell me how can I use all cores to decrease the time of calculation.

thanks

Posted on Categories Articles