我有一个具有周期性上限的积分,它取决于变量“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-loop 的原因)。
有没有办法在没有多个循环的情况下重写这段代码?因为,即使对于一个 l 值,Python 也需要非常多的时间来计算这个积分。