変数 'l' に依存する周期的な上限との積分があります。コードは次のようになります。
Gamma = 0
for l in R:
ln = l*MPC/4.1
while l <= RS:
for i in R:
j = i*MPC/4.1
Results = integrate.tplquad(J_nu, 0.0, np.pi, lambda theta: ln, lambda theta: sqrt(ln**2 + j**2 - 2 * ln * j * cos(theta)), lambda theta, s: nuth, lambda theta, s: np.inf)
Gamma += Results[0]
l のすべての値について、R に沿ったすべての点ですべての積分を計算して合計する必要があります (そのため、別の i ループを使用しています)。
複数のループを使わずにこのコードを書き直す方法はありますか? 原因として、Python は、l の値が 1 つの場合でも、この積分を計算するのに非常に多くの時間を必要とします。