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
>