Name: Vladyslav Shtabovenko Date: 02/12/17-08:51:10 PM Z


Hi,

sorry for the late reply: I’m currently in the final stage of my PhD, so
I can answer at most once a week at this mailing list.

Dirac equation is actually automatically applied by DiracSimplify. Also
in num2 you should use
GS[Polarization[p2,Transversality->True] to have the transversality
condition. The kinematics
like SP[p2,p2]=0 is usually specified before the calculation (see
examples bundled with FeynCalc).

If you want to implement simplifications via replacement rules, you need
to first understand the difference
between the FCI- and FCE-notation:

https://github.com/FeynCalc/feyncalc/wiki/FAQ#fci_fce

Then use StandardForm to see how Mathematica sees your expressions and
adjust the rules accordingly.
For example, comparing

Cases[res, DOT[___, DiracGamma[Momentum[p1]], Spinor[Momentum[p1], ___],
___], Infinity] // Union
% // StandardForm
onshell[[2]] // StandardForm

it is quite easy to see why patterns do not match.

Cheers,
Vladyslav

Am 06.02.2017 um 13:03 schrieb Peter Meinzinger:
> Hi and thanks for the help,
> i’ve got another, more general problem, regarding substitutions.
> As for the code I had before, I now want to insert some relations, for example the Dirac equation and relations regarding the photon.
> The simplifications, though, are not used.
> See, for example, this code, the Dirac eq for the second spinor won’t be used.
>
> $BreitMaison = True
> num1 := SpinorUBar[p3, ms].GA[6].(GS[q] + mt).GA[
> 7].PolarizationVector[p2, \[Mu],
> Transversality -> True].(2*FV[q, \[Mu]] + 2*FV[p1, \[Mu]] +
> FV[p2, \[Mu]]).SpinorU[p1, mb]
> num2 := SpinorUBar[p3, ms].gB.(GSD[q] + mt).GS[
> Polarization[p2]].(GS[q] + GS[p2] + mt).gA.SpinorU[p1, mb]
>
> amp1 = num1*FAD[{q, mt}, {q + p1, mh}, {q + p1 + p2, mh}]
> amp2 := num2*FAD[{q, mt}, {q + p2, mt}, {q + p2 + p1, mh}]
> onshell = {SpinorUBar[p3, ms].DiracGamma[Momentum[p3, D]] ->
> ms*Spinor[Momentum[p3, D], ms, 1],
> DiracGamma[Momentum[p1, D]].Spinor[Momentum[p1, D], mb, 1] ->
> mb*Spinor[Momentum[p1, D], mb, 1],
> Pair[Momentum[p2, D], Momentum[p2, D]] -> 0,
> Pair[Momentum[p1, D],
> Momentum[Polarization[p2, I], D]] -> (mb^2 - ms^2)/2,
> Pair[Momentum[p3, D],
> Momentum[Polarization[p2, I], D]] -> (mb^2 - ms^2)/2,
> DiracGamma[Momentum[p1, D]].DiracGamma[6].Spinor[Momentum[p1, D],
> mb, 1] -> mb*DiracGamma[7].Spinor[Momentum[p1, D], mb, 1],
> DiracGamma[Momentum[p1, D]].DiracGamma[7].Spinor[Momentum[p1, D],
> mb, 1] -> mb*DiracGamma[6].Spinor[Momentum[p1, D], mb, 1],
> Pair[Momentum[p1, D], Momentum[p1, D]] -> mb^2,
> Pair[Momentum[p3, D], Momentum[p3, D]] -> ms^2,
> DiracGamma[Momentum[p1, D]].DiracGamma[5].Spinor[Momentum[p1, D],
> mb, 1] -> -mb*DiracGamma[5].Spinor[Momentum[p1, D], mb, 1],
> Momentum[-p1 - p2] -> Momentum[p3],
> DiracGamma[Momentum[Polarization[p2, I], D]].DiracGamma[
> Momentum[p2, D]] -> 0,
> Momentum[Polarization[p2, I], D].Momentum[p2, D] -> 0,
> DiracGamma[Momentum[p2, D]].DiracGamma[
> Momentum[Polarization[p2, I], D]] -> 0,
> Spinor[Momentum[p3, D], ms, 1].DiracGamma[Momentum[p3, D]] ->
> ms*Spinor[Momentum[p3, D], ms, 1],
> Pair[Momentum[p1],
> Momentum[Polarization[p2, I, Transversality -> True]]] -> p2epk}
>
> res1 = -I/Pi^2*TID[amp1, q]
> res2 = -I/Pi^2*TID[amp2, q]
> res = res1 + res2 /. onshell
> aux = FCDiracIsolate[res, Head -> StandardMatrixElement] //
> Expand2[#, {StandardMatrixElement, Pair}] & //
> ReplaceRepeated[#,
> a_Pair StandardMatrixElement[b_] :>
> StandardMatrixElement[a b]] & //
> Collect2[#, StandardMatrixElement] &
> Cases2[aux,StandardMatrixElement]
>
> Additionally, I sometimes get results, with a gamma matrix, but some code as superscript written, seems to be a bug somewhere, but I couldn’t track it down to a function, I’ll tell you if I find something more precise.
> Cheers,
> Peter
>