Ошибка формы в Python. Это 6-мерная интеграция
«Я должен интегрировать эту функцию bm over -inf в inf. Я правильно определил функцию. Но это говорит о том, что у меня есть ошибка формы».
import datetime
begin_time = datetime.datetime.now()
from numpy import linspace,conj,exp,pi,meshgrid,real,inf
from math import factorial
import matplotlib.pyplot as plt
from scipy import integrate
from scipy.special import roots_laguerre as L
m = n = p = 1
a = 1
def bm(v1,v2,v3,v4,v5,v6):
h1 = (v1 + 1j*v2)
h2 = (v3 + 1j*v4)
h3 = (v5 + 1j*v6)
ma = a*conj(a)
term1 = L(m,-ma)*factorial(m)
term2 = L(n,-ma)*factorial(n)
term3 = L(p,-ma)*factorial(p)
t1 = conj(a)**m *(a)**n +(a)**p
t2 = conj(a)**n *(a)**m +(a)**p
t3 = conj(a)**p *(a)**m +(a)**n
term4 = t1+t2+t3
NN = 1/term1+term2+term3+term4
T1 = abs(h1-a)**2
T2 = abs(h2-a)**2
T3 = abs(h3-a)**2
F1 = abs((2*h1)-a)**2
F2 = abs((2*h2)-a)**2
F3 = abs((2*h3)-a)**2
E1 = exp(-2*T1)
E2 = exp(-2*T2)
E3 = exp(-2*T3)
TT1 = L(m,F1)
TT2 = L(n,F2)
TT3 = L(p,F3)
T5 = ((2*h1)-a)**m
T6 = ((2*h2)-a)**n
T7 = ((2*h3)-a)**p
cT5 = conj(-(2*h1)+a)**m
cT6 = conj(-(2*h2)+a)**n
cT7 = conj(-(2*h3)+a)**p
expo = E1*E2*E3
r1 = (-1)**m
r2 = (-1)**n
r3 = (-1)**p
a1 = ((-1)**m)*(factorial(m))*(TT1)
a2 = (r1)*(cT5)*(T6)
a3 = (r1)*(cT5)*(T7)
a4 = (r2)*(T5)*(cT6)
a5 = ((-1)**n)*(factorial(n))*(TT2)
a6 = (r2)*(cT6)*(T7)
a7 = (r3)*(T5)*(cT7)
a8 = (r3)*(T6)*(cT7)
a9 = ((-1)**p)*factorial(p)*(TT3)
return ((8*NN)/(pi**3))*expo*a1+a2+a3+a4+a5+a6+a7+a8+a9
I = integrate.nquad(bm, [[0, inf],[0, inf],[0, inf],[0, inf],[0, inf],[0, inf]])
print(I)
print(datetime.datetime.now() - begin_time)
«Это правильный способ сделать это? Если вы знаете другие способы интеграции по шести измерениям. Дайте мне знать. Я пробовал использовать эту функцию в Монте-Карло, но это не сработало».