% A.I.Davydychev and A.G.Grozin, Phys. Rev. D59 (1999) 054023 [hep-ph/9809589] % % -*-- I(n1,n2,n3,n4) = % | | \ - (1/pi^d) int d^d k d^d l / [D1^n1 D2^n2 D3^n3 D4^n4] % - | \ n4 % n2 | \ \ II(n1,n2,n3,n4,n0) = % - n3 \ | - (1/pi^d) int d^d k d^d l N^n0 / [D1^n1 D2^n2 D3^n3 D4^n4] % | \ | % =*==========*= D1 = M^2-(p+k)^2, D2 = -k^2, D3 = m^2-l^2, D4 = m^2-(k-l)^2, % n1 N = (2l-k).p, p^2=M^2 % % Results are in terms of M, m, d; 2 nontrivial integrals % I0 = I(1,0,1,1), I1 = I(1,1,1,1); % and 2 trivial ones % T0 = I(0,0,1,1), T1 = I(1,0,1,0). input_case nil$ % checking if a value is assigned to a variable % or an operator with parameters symbolic procedure a_var x; if cdr x then begin scalar k,l,r; r:=nil; k:=get(car x,'kvalue); l:=for each u in cdr x collect reval u; while k and not r do if cdaar k = l then r:=t else k:=cdr k; return r end else get(car x,'avalue)$ put('assigned,'psopfn,'a_var)$ operator I!!r,I0!!r,I4!!r,II!!r; % remember tables % main integral procedure I(n1,n2,n3,n4); if n3>n4 then I(n1,n2,n4,n3) else if assigned(I!!r,n1,n2,n3,n4) then I!!r(n1,n2,n3,n4) else I!!r(n1,n2,n3,n4) := if n3<=0 then I!-4(n1,n2,n4,-n3) else if n1<=0 then I!-1(-n1,n2,n3,n4) else if n4>1 then (-(2*d-n1-2*n2-4*n4+4)*I(n1,n2,n3,n4-1) +(n1+2*n2)*(I(n1,n2+1,n3,n4-2)-I(n1,n2+1,n3-1,n4-1)) +n1*(I(n1+1,n2,n3,n4-2)-I(n1+1,n2,n3-1,n4-1)+I(n1+1,n2-1,n3,n4-1)) )/(4*m^2*(n4-1)) else I!!2(n1,n2)$ % I(n1,n2,1,1) procedure I!!2(n1,n2); if n1<=0 then I!-1(-n1,n2,1,1) else if n1>1 then (-(3*d-3*n1-2*n2-2)*I!!2(n1-1,n2) +(d-n1)*I!!2(n1-2,n2+1) -4*m^2*(d-n1-2*n2-2)*I!!2(n1-1,n2+1) -4*m^2*I!-4(n1-1,n2+1,2,0) )/(4*(M^2-m^2)*(n1-1)) else I!!1(n2)$ % I(1,n2,1,1) procedure I!!1(n2); if n2=0 then I0 else if n2=1 then I1 else if n2>1 then (-(3*d-2*n2-4)*I!!1(n2-2) -4*(M^2+m^2)*(2*d-2*n2-3)*I!!1(n2-1) +(d-2)*I!-1(0,n2-1,1,1) +4*m^2*(d-2)*I!-1(0,n2,1,1) -4*m^2*I!-4(1,n2-1,2,0) -16*M^2*m^2*I!-4(1,n2,2,0) )/(16*M^2*m^2*(d-2*n2-2)) else (-16*M^2*m^2*(d-2*n2-6)*I!!1(n2+2) -4*(M^2+m^2)*(2*d-2*n2-7)*I!!1(n2+1) +(d-2)*I!-1(0,n2+1,1,1) +4*m^2*(d-2)*I!-1(0,n2+2,1,1) -4*m^2*I!-4(1,n2+1,2,0) -16*M^2*m^2*I!-4(1,n2+2,2,0) )/(3*d-2*n2-8)$ % trivial integrals % Gamma(x+n)/Gamma(x) procedure G!!(x,n); if n>0 then for i:=0:n-1 product (x+i) else if n<0 then 1/(for i:=1:-n product (x-i)) else 1$ % I(n1,n2,n3,0) procedure I!=4(n1,n2,n3); if n1<=0 or n3<=0 then 0 else if assigned(I4!!r,n1,n2,n3) then I4!!r(n1,n2,n3) else I4!!r(n1,n2,n3):= T1*M^(2*(1-n1-n2))*m^(2*(1-n3))/factorial(n1-1)/factorial(n3-1) *G!!(d-n1-n2,-n2)*G!!(1-d/2,n1+n2-1)*G!!(1-d/2,n3-1)$ % I(n1,n2,n3,-n4) procedure I!-4(n1,n2,n3,n4); if n1<=0 or n3<=0 then 0 else if n4=0 then I!=4(n1,n2,n3) else begin scalar s,c,j,p; c:=1; s:=0; j:=0; repeat << s:=s+c* << p:=(D!!2*D!!3)^2*D!!2^j*(D!!3-m^2)^j*(D!!2+D!!3)^(n4-2*j); for all n!!2,n!!3 match D!!2^n!!2*D!!3^n!!3= I!=4(n1,n2-n!!2+2,n3-n!!3+2); p:=p; for all n!!2,n!!3 clear D!!2^n!!2*D!!3^n!!3; p >>; j:=j+1; c:=c*(n4-2*j+1)*(n4-2*j+2)/j/(d/2+j-1) >> until c=0; return s end$ % I(0,n2,n3,n4) procedure I!=1(n2,n3,n4); if n3<=0 or n4<=0 then 0 else if assigned(I0!!r,n2,n3,n4) then I0!!r(n2,n3,n4) else I0!!r(n2,n3,n4):= T0*m^(2*(2-n2-n3-n4))/factorial(n3-1)/factorial(n4-1) *G!!(1-d/2,n2+n3-1)*G!!(1-d/2,n2+n4-1)*G!!(d/2,-n2)/G!!(n2+n3+n4-d,n2)$ % I(-n1,n2,n3,n4) procedure I!-1(n1,n2,n3,n4); if n3<=0 then 0 else if n1=0 then I!=1(n2,n3,n4) else begin scalar s,c,j; c:=1; s:=0; j:=0; repeat << s:=s+c*I!=1(n2-n1+j,n3,n4); j:=j+1; c:=-c*M^2*(n1-2*j+1)*(n1-2*j+2)/j/(d/2+j-1) >> until c=0; return s end$ % Integrals with the numerator % ---------------------------- % main integral procedure II(n1,n2,n3,n4,n0); if n0<0 then << write "ERROR: II(",n1,",",n2,",",n3,",",n4,",",n0,")"; 0 >> else if n0=0 then I(n1,n2,n3,n4) else if n3>n4 then (-1)^n0*II(n1,n2,n4,n3,n0) else if n3=n4 and not evenp(n0) then 0 else if assigned(II!!r,n1,n2,n3,n4,n0) then II!!r(n1,n2,n3,n4,n0) else II!!r(n1,n2,n3,n4,n0):= if n0=1 then II!=1(n1,n2,n3,n4) else if n0=2 then II!=2(n1,n2,n3,n4) else if n3<=0 then (-1)^n0*II!-4(n1,n2,n4,-n3,n0) else if n1<=0 then II!-1(-n1,n2,n3,n4,n0) else if n4>1 then (-(n1-n2)*II(n1,n2,n3,n4-1,n0-1) +2*M^2*n1*II(n1+1,n2,n3,n4-1,n0-1) +n1*II(n1+1,n2-1,n3,n4-1,n0-1) -n2*II(n1-1,n2+1,n3,n4-1,n0-1) -M^2*(n0-1)*(if n0>1 then II(n1,n2,n3,n4-1,n0-2) else 0) )/(n4-1) -II(n1-1,n2,n3,n4,n0-1)/2 +II(n1,n2-1,n3,n4,n0-1)/2 else II!!3(n1,n2,n0)$ % II(n1,n2,n3,n4,1) procedure II!=1(n1,n2,n3,n4); (I(n1,n2,n3-1,n4)-I(n1,n2,n3,n4-1) -I(n1-1,n2+1,n3-1,n4)+I(n1-1,n2+1,n3,n4-1))/2$ % II(n1,n2,n3,n4,2) procedure II!=2(n1,n2,n3,n4); ( I(n1,n2-2,n3,n4)-2*I(n1-1,n2-1,n3,n4)+I(n1-2,n2,n3,n4) +4*(M^2+m^2)*I(n1,n2-1,n3,n4) -2*I(n1,n2-1,n3-1,n4)+4*I(n1-1,n2,n3-1,n4)-2*I(n1-2,n2+1,n3-1,n4) -2*I(n1,n2-1,n3,n4-1)+4*I(n1-1,n2,n3,n4-1)-2*I(n1-2,n2+1,n3,n4-1) -8*M^2*I(n1,n2,n3-1,n4)-8*M^2*I(n1,n2,n3,n4-1) +4*m^2*I(n1-2,n2+1,n3,n4)-8*m^2*I(n1-1,n2,n3,n4)+16*M^2*m^2*I(n1,n2,n3,n4) +d*I(n1-2,n2+2,n3-2,n4)-2*d*I(n1-2,n2+2,n3-1,n4-1)+d*I(n1-2,n2+2,n3,n4-2) -2*d*I(n1-1,n2+1,n3-2,n4)+4*d*I(n1-1,n2+1,n3-1,n4-1) -2*d*I(n1-1,n2+1,n3,n4-2) +d*I(n1,n2,n3-2,n4)-2*d*I(n1,n2,n3-1,n4-1)+d*I(n1,n2,n3,n4-2) +4*M^2*I(n1,n2+1,n3-2,n4)-8*M^2*I(n1,n2+1,n3-1,n4-1) +4*M^2*I(n1,n2+1,n3,n4-2) )/(4*(d-1))$ % II(n1,n2,1,1,n0) (n0 is even) procedure II!!3(n1,n2,n0); if not evenp(n0) then 0 else if n0=0 then I!!2(n1,n2) else if n1<=0 then II!-1(-n1,n2,1,1,n0) else if n1>1 then (-(n0-1)/4*II!!3(n1-2,n2,n0-2)+(n0-1)/4*II!!3(n1-1,n2-1,n0-2) +II(n1-1,n2-1,1,2,n0-1)+2*m^2*II(n1-1,n2,1,2,n0-1) +II!-4(n1-1,n2,2,0,n0-1)-2*n2*II!-4(n1-1,n2+1,1,0,n0-1) )/(n1-1) -2*II!-4(n1,n2,1,0,n0-1) else II!!2(n2,n0)$ % II(1,n2,1,1,n0) (n0 is even) procedure II!!2(n2,n0); if not evenp(n0) then 0 else if n0=0 then I!!1(n1) else (-4*m^2*II(1,n2,1,2,n0)-II(1,n2-1,1,2,n0)+II!-4(1,n2,2,0,n0))/(d+n0-3)$ % trivial integrals % average of (p.k1)^n1*(p.k2)^n2 over directions of p % as a function of p.p, k1.k1, k2.k2, and k1.k2 procedure av!!(pp,k11,k22,k12,n1,n2); if not evenp(n1+n2) then 0 else if evenp(n1) then begin scalar c,s; c:=pp^((n1+n2)/2)*!!1^(n1/2)*!!2^(n2/2) /(for i:=0:(n1+n2)/2-1 product (d+2*i)) *(for i:=0:n1/2-1 product (2*i+1)) *(for i:=0:n2/2-1 product (2*i+1)); s:=c; for i:=1:min(n1/2,n2/2) do << c:=c*!!12^2/(!!1*!!2) *(n1-2*i+1)*(n1-2*i+2)*(n2-2*i+1)*(n2-2*i+2) /(2*i*(2*i-1)*(n1-2*i+1)*(n2-2*i+1)); s:=s+c >>; s:=(s where {!!1=>k11,!!2=>k22,!!12=>k12}); return s end else begin scalar c,s; c:=pp^((n1+n2)/2)*!!12*!!1^((n1-1)/2)*!!2^((n2-1)/2) *n1*n2/(for i:=0:(n1+n2)/2-1 product (d+2*i)) *(for i:=0:(n1-3)/2 product (2*i+1)) *(for i:=0:(n2-3)/2 product (2*i+1)); s:=c; for i:=1:min((n1-1)/2,(n2-1)/2) do << c:=c*!!12^2/(!!1*!!2) *(n1-2*i)*(n1-2*i+1)*(n2-2*i)*(n2-2*i+1) /(2*i*(2*i+1)*(n1-2*i)*(n2-2*i)); s:=s+c >>; s:=(s where {!!1=>k11,!!2=>k22,!!12=>k12}); return s end$ % II(-n1,n2,n3,n4,n0) procedure II!-1(n1,n2,n3,n4,n0); if n3<=0 or n4<=0 then 0 else begin scalar c,s,j,j0,jm; if evenp(n0) then << if evenp(n1) then jm:=n1 else jm:=n1-1; j0:=0; c:=D!!2^n1 >> else << if n1=0 then jm:=-1 else if evenp(n1) then jm:=n1-1 else jm:=n1; j0:=1; c:=n1*D!!2^(n1-1) >>; if jm<0 then return 0; for j:=j0 step 2 until jm do << s:=s+c*av!!(M^2,-4*D!!2,4*m^2+D!!2-2*(D!!3+D!!4),2*(D!!3-D!!4),j,n0); c:=c/D!!2^2*(n1-j-1)*(n1-j)/((j+1)*(j+2)) >>; s:=s*(D!!2*D!!3*D!!4)^2; for all n!!2,n!!3,n!!4 match D!!2^n!!2*D!!3^n!!3*D!!4^n!!4= I!=1(n2-n!!2+2,n3-n!!3+2,n4-n!!4+2); s:=s; for all n!!2,n!!3,n!!4 clear D!!2^n!!2*D!!3^n!!3*D!!4^n!!4; return s end$ % II(n1,n2,n3,-n4,n0) procedure II!-4(n1,n2,n3,n4,n0); if n1<=0 or n3<=0 then 0 else begin scalar p; p:=(D!!2+D!!3+!!k)^n4*((D!!1-D!!2)/2+!!p)^n0*(!!k*!!p)^2; for all !!nk,!!np match !!k^!!nk*!!p^!!np= av!!(m^2-D!!3,-4*D!!2,4*M^2,2*(D!!2-D!!1),!!nk-2,!!np-2); p:=p; for all !!nk,!!np clear !!k^!!nk*!!p^!!np; p:=p*(D!!1*D!!2*D!!3)^2; for all n!!1,n!!2,n!!3 match D!!1^n!!1*D!!2^n!!2*D!!3^n!!3= I!=4(n1-n!!1+2,n2-n!!2+2,n3-n!!3+2); p:=p; for all n!!1,n!!2,n!!3 clear D!!1^n!!1*D!!2^n!!2*D!!3^n!!3; return p end$ end; % Recurrence relations % -------------------- % recurrence relation (2) procedure T2(n1,n2,n3,n4); (d-2*n3-n4)*I(n1,n2,n3,n4) +2*m^2*(n3*I(n1,n2,n3+1,n4)+n4*I(n1,n2,n3,n4+1)) +n4*(I(n1,n2-1,n3,n4+1)-I(n1,n2,n3-1,n4+1))$ % recurrence relation (3) procedure T3(n1,n2,n3,n4); (n3-n4)*I(n1,n2,n3,n4) +n3*(I(n1,n2-1,n3+1,n4)-I(n1,n2,n3+1,n4-1)) -n4*(I(n1,n2-1,n3,n4+1)-I(n1,n2,n3-1,n4+1))$ % recurrence relation (4) procedure T4(n1,n2,n3,n4); (d-n1-2*n2-n4)*I(n1,n2,n3,n4) -n1*I(n1+1,n2-1,n3,n4) -n4*(I(n1,n2-1,n3,n4+1)-I(n1,n2,n3-1,n4+1))$ % recurrence relation (5) procedure T5(n1,n2,n3,n4); (2*d-n1-2*n2-4*n4)*I(n1,n2,n3,n4) +4*m^2*n4*I(n1,n2,n3,n4+1) -(n1+2*n2)*(I(n1,n2+1,n3,n4-1)-I(n1,n2+1,n3-1,n4)) -n1*(I(n1+1,n2,n3,n4-1)+I(n1+1,n2-1,n3,n4)-I(n1+1,n2,n3-1,n4))$ % recurrence relation (6) procedure T6(n1,n2,n3,n4); -(2*n1-2*n2-n4)*I(n1,n2,n3,n4) +4*M^2*n1*I(n1+1,n2,n3,n4)+2*n1*I(n1+1,n2-1,n3,n4) -(2*n2+n4)*I(n1-1,n2+1,n3,n4)+n4*I(n1-1,n2+1,n3-1,n4+1) -n4*(I(n1-1,n2,n3,n4+1)-I(n1,n2-1,n3,n4+1)+I(n1,n2,n3-1,n4+1))$ % tests for n1:=-3:3 do for n2:=-3:3 do for n3:=-3:3 do for n4:=-3:3 do if T5(n1,n2,n3,n4) neq 0 then write "T5 ",n1,n2,n3,n4; for n1:=-3:3 do for n2:=-3:3 do for n3:=-3:3 do for n4:=-3:3 do if T6(n1,n2,n3,n4) neq 0 then write "T6 ",n1,n2,n3,n4; for n1:=-3:3 do for n2:=-3:3 do for n3:=-3:3 do for n4:=-3:3 do if T4(n1,n2,n3,n4) neq 0 then write "T4 ",n1,n2,n3,n4; for n1:=-3:3 do for n2:=-3:3 do for n3:=-3:3 do for n4:=-3:3 do if T2(n1,n2,n3,n4) neq 0 then write "T2 ",n1,n2,n3,n4; for n1:=-3:3 do for n2:=-3:3 do for n3:=-3:3 do for n4:=-3:3 do if T3(n1,n2,n3,n4) neq 0 then write "T3 ",n1,n2,n3,n4; % Recurrence relations with the numerator % --------------------------------------- % recurrence relation (1) procedure R1(n1,n2,n3,n4,n0); (d-2*n3-n4+n0)*II(n1,n2,n3,n4,n0) -n0/2*II(n1-1,n2,n3,n4,n0-1)+n0/2*II(n1,n2-1,n3,n4,n0-1) +n4*II(n1,n2-1,n3,n4+1,n0)-n4*II(n1,n2,n3-1,n4+1,n0) +2*m^2*n3*II(n1,n2,n3+1,n4,n0)+2*m^2*n4*II(n1,n2,n3,n4+1,n0)$ % recurrence relation (2) procedure R2(n1,n2,n3,n4,n0); -(n3-n4)*II(n1,n2,n3,n4,n0) -n0*II(n1-1,n2,n3,n4,n0-1)+n0*II(n1,n2-1,n3,n4,n0-1) -n3*II(n1,n2-1,n3+1,n4,n0)+n3*II(n1,n2,n3+1,n4-1,n0) +n4*II(n1,n2-1,n3,n4+1,n0)-n4*II(n1,n2,n3-1,n4+1,n0)$ % recurrence relation (3) procedure R3(n1,n2,n3,n4,n0); 2*M^2*n0*II(n1,n2,n3,n4,n0-1) +n3*II(n1,n2,n3+1,n4,n0+1)+n4*II(n1,n2,n3,n4+1,n0+1) -n3/2*II(n1-1,n2,n3+1,n4,n0)+n3/2*II(n1,n2-1,n3+1,n4,n0) +n4/2*II(n1-1,n2,n3,n4+1,n0)-n4/2*II(n1,n2-1,n3,n4+1,n0)$ % recurrence relation (4) procedure R4(n1,n2,n3,n4,n0); (d-n1-2*n2-n4)*II(n1,n2,n3,n4,n0) +n0/2*II(n1-1,n2,n3,n4,n0-1)-n0/2*II(n1,n2-1,n3,n4,n0-1) -n1*II(n1+1,n2-1,n3,n4,n0) -n4*II(n1,n2-1,n3,n4+1,n0)+n4*II(n1,n2,n3-1,n4+1,n0)$ % recurrence relation (5) procedure R5(n1,n2,n3,n4,n0); (-n1/2-n2+n4-n0/2)*II(n1,n2,n3,n4,n0) +n1*II(n1+1,n2,n3,n4,n0+1) +n0/4*II(n1-1,n2,n3,n4,n0-1)-n0/4*II(n1,n2-1,n3,n4,n0-1) -n1/2*II(n1+1,n2-1,n3,n4,n0) -n1*II(n1+1,n2,n3-1,n4,n0)+n1*II(n1+1,n2,n3,n4-1,n0) -n2*II(n1,n2+1,n3-1,n4,n0)+n2*II(n1,n2+1,n3,n4-1,n0) -n4*II(n1,n2-1,n3,n4+1,n0)+n4*II(n1,n2,n3-1,n4+1,n0) -2*m^2*n4*II(n1,n2,n3,n4+1,n0)$ % recurrence relation (6) procedure R6(n1,n2,n3,n4,n0); -(n1-n2)*II(n1,n2,n3,n4,n0) -M^2*n0*II(n1,n2,n3,n4,n0-1)-n4*II(n1,n2,n3,n4+1,n0+1) +2*M^2*n1*II(n1+1,n2,n3,n4,n0)+n1*II(n1+1,n2-1,n3,n4,n0) -n2*II(n1-1,n2+1,n3,n4,n0) -n4/2*II(n1-1,n2,n3,n4+1,n0)+n4/2*II(n1,n2-1,n3,n4+1,n0)$ % tests for n0:=1:4 do for n4:=-2:2 do for n3:=-2:2 do for n2:=-2:2 do for n1:=-2:2 do if R1(n1,n2,n3,n4,n0) neq 0 then write "R1 ",n1,n2,n3,n4,n0; for n0:=1:4 do for n4:=-2:2 do for n3:=-2:2 do for n2:=-2:2 do for n1:=-2:2 do if R2(n1,n2,n3,n4,n0) neq 0 then write "R2 ",n1,n2,n3,n4,n0; for n0:=1:4 do for n4:=-2:2 do for n3:=-2:2 do for n2:=-2:2 do for n1:=-2:2 do if R3(n1,n2,n3,n4,n0) neq 0 then write "R3 ",n1,n2,n3,n4,n0; for n0:=1:4 do for n4:=-2:2 do for n3:=-2:2 do for n2:=-2:2 do for n1:=-2:2 do if R4(n1,n2,n3,n4,n0) neq 0 then write "R4 ",n1,n2,n3,n4,n0; for n0:=1:4 do for n4:=-2:2 do for n3:=-2:2 do for n2:=-2:2 do for n1:=-2:2 do if R5(n1,n2,n3,n4,n0) neq 0 then write "R5 ",n1,n2,n3,n4,n0; for n0:=1:4 do for n4:=-2:2 do for n3:=-2:2 do for n2:=-2:2 do for n1:=-2:2 do if R6(n1,n2,n3,n4,n0) neq 0 then write "R6 ",n1,n2,n3,n4,n0; end;