(* pl4.m: S. A. Fulling, Nov. 1995 (first version summer 1994) *) Off[General::spell1] Share[]; orderRules = { x1^(n1_)*x2^(n2_) :> x1^n2*x2^n1 /; n2 > n1, x1^(n1_)*x3^(n3_) :> x1^n3*x3^n1 /; n3 > n1, x2^(n2_)*x3^(n3_) :> x2^n3*x3^n2 /; n3 > n2, x1^(n1_)*x4^(n4_) :> x1^n4*x4^n1 /; n4 > n1, x2^(n2_)*x4^(n4_) :> x2^n4*x4^n2 /; n4 > n2, x3^(n3_)*x4^(n4_) :> x3^n4*x4^n3 /; n4 > n3 }; qmax = 7 max = 2(qmax+1) link12 = Sum[t^(2j) c[j] x1^j x2^j, {j, 0, qmax}] +O[t]^max link13 = link12 /. x2->x3; link23 = link13 /. x1->x2; link14 = link12 /. x2->x4; link24 = link14 /. x1->x2; link34 = link14 /. x1->x3; point1 = Sum[t^(2j) c[j] x1^(2j), {j, 0, qmax}] + O[t]^max point2 = point1 /. x1 -> x2; point3 = point1 /. x1 -> x3; point4 = point1 /. x1 -> x4; identity = link12*link13*link23*link14*link24*link34* point1*point2*point3*point4; pl4temp = (Expand[Normal[identity] * x1^2 x2^2 x3^2 x4^2] //. orderRules) / (x1^2 x2^2 x3^2 x4^2); pl4 = Collect[pl4temp, Prepend[Table[c[qmax-i], {i,0,qmax}], t]]; pl4point = pl4 //. c[n_] -> 1 pl4line = pl4 //. {x1->1, x2->1, x3->1, x4->1} pl4total = pl4line //. c[n_] -> 1 Save["pl4.out", pl4, pl4point, pl4line, pl4total] Quit[]