•ππππ

IsoVector[QuantumField[Particle[AxialVector[0], ___], ___], ___][_] := 0 ;  IsoVector[QuantumField[Particle[Vector[0], ___], ___], ___][_] := 0 ;  IsoVector[QuantumField[Particle[Vector[1], ___], ___], ___][_] := 0 ;  QuantumField[Particle[Vector[1], ___], ___][_] := 0 ;  IsoVector[QuantumField[Particle[Scalar[1], ___], ___], ___][_] := 0 ;  QuantumField[Particle[Scalar[1], ___], ___][_] := 0 ;

lag = Lagrangian[ChPTVirtualPhotons2[4]] /. QuantumField[Particle[(LeftComponent | RightComponent)[0], ___], ___, SUNIndex[0], ___] -> 0 ;

ll = (WriteString["stdout", "."] ; UNMSplit[#, x, DropOrder -> 4]) & /@ lag ;

.............

lll = ArgumentsSupply[ll, x, RenormalizationState[0], DiagonalToU -> True, ExpansionOrder -> 4, DropOrder -> 4] /. $Substitutions // CycleUTraces ;

ArgumentsSupply :: argxpr :  Warning : The argument  x  is already in the expression.

llld = (WriteString["stdout", "."] ; DiscardTerms[#, Retain -> {ParticleField[Pion , RenormalizationState[0]] -> 4}, CommutatorReduce -> True, Method -> Expand]) & /@ lll ;

.........

llle = (WriteString["stdout", "."] ; ExpandU[#] // CommutatorReduce // Simplify) & /@ llld ;

........................................................................................................................................

llll = ($IsoIndicesCounter = 0 ; WriteString["stdout", "."] ; # // IsoIndicesSupply // SUNReduce[#, FullReduce -> True] & // IndicesCleanup // CommutatorReduce[#, FullReduce -> True] & // Simplify) & /@ llle ;

..........................................

lala = Simplify /@ Collect[llll /. NM -> Times, CouplingConstant[_[4], __]] ;

fields = fields = {QuantumField[Particle[Pion, RenormalizationState[0]], SUNIndex[I1]][p1], QuantumField[Particle[Pion, RenormalizationState[0]], SUNIndex[I2]][p2], QuantumField[Particle[Pion, RenormalizationState[0]], SUNIndex[I3]][p3], QuantumField[Particle[Pion, RenormalizationState[0]], SUNIndex[I4]][p4]}

{π^( )^I _ 1, π^( )^I _ 2, π^( )^I _ 3, π^( )^I _ 4}

mel = ((WriteString["stdout", "."] ; I * FunctionalD[PhiToFC[#], fields]) & /@ lala) ;

.............

melsimplified = Collect[mel // Contract // SUNReduce[#, FullReduce -> True] &, {_DecayConstant, _CouplingConstant, _Pair}] ;

$ExpansionQuantities = {Pair[__], ParticleMass[PseudoScalar[4], a___], CouplingConstant[QED[1], c___]} ;

mfacoll = MomentaCollect[melsimplified // Expand, ParticlesNumber -> 4, PerturbationOrder -> 4, ScalarProductForm -> Pair] ;

gencoup = GenericCoupling[mfacoll] ; gencoup

{(e^(  ))^4, (p _ 1 ° p _ 2) (p _ 3 ° p _ 4), (p _ 1 ° p _ 3) (p _ 2 ° p _ 4), (p _ 1 ° p _ 4) (p _ 2 ° p _ 3), (m _ π^0^(ó    ))^4, (e^(  ))^2 (p _ 2 ° p _ 3), (e^(  ))^2 (p _ 1 ° p _ 4), (e^(  ))^2 (p _ 2 ° p _ 4), (e^(  ))^2 (p _ 1 ° p _ 3), (e^(  ))^2 (p _ 3 ° p _ 4), (e^(  ))^2 (p _ 1 ° p _ 2), (e^(  ))^2 (m _ π^0^(ó    ))^2}

classcoup = ClassesCoupling[mfacoll] // Together ;

$VeryVerbose = 2 ;

CheckF[gencoup, XName[VertexFields -> {PseudoScalar[2][0], PseudoScalar[2][0], PseudoScalar[2][0], PseudoScalar[2][0]}, PerturbationOrder -> 4, PhiModel -> ChPTVirtualPhotons2, XFileName -> Automatic] <> ".Gen"] ;

Using file name D:\\Program Files\\Wolfram Research\\Mathematica\\4.1\\AddOns\\Applications\\HighEnergyPhysics\\Phi\\CouplingVectors\\ChPTVirtualPhotons2P20P20P20P20o4.Gen

File does not exist, evaluating

Saving

CheckF[classcoup, XName[VertexFields -> {PseudoScalar[2][0], PseudoScalar[2][0], PseudoScalar[2][0], PseudoScalar[2][0]}, PerturbationOrder -> 4, PhiModel -> ChPTVirtualPhotons2, XFileName -> Automatic] <> ".Mod"] ;

Using file name D:\\Program Files\\Wolfram Research\\Mathematica\\4.1\\AddOns\\Applications\\HighEnergyPhysics\\Phi\\CouplingVectors\\ChPTVirtualPhotons2P20P20P20P20o4.Mod

File does not exist, evaluating

Saving

$VeryVerbose = 0 ;


Converted by Mathematica  (July 10, 2003)