FeynCalc manual (development version)

FCCanonicalizeDummyIndices

FCCanonicalizeDummyIndices[expr] canonicalizes dummy indices in the expression.

Following index types are supported: LorentzIndex, CartesianIndex, SUNIndex, SUNFIndex, DiracIndex, PauliIndex

In the case of Lorentz indices the option Momentum provides a possibility to limit the canonicalization only to particular Momenta. The option LorentzIndexNames can be used to assign specific names to the canonicalized indices, to have say \mu, \nu, \rho etc. instead of some random names.

For other index types the corresponding options are called CartesianIndexNames, SUNIndexNames, SUNFIndexNames, DiracIndexNames and PauliIndexNames.

See also

Overview, FCRenameDummyIndices.

Examples

Canonicalization of Lorentz indices

FVD[q, mu] FVD[p, mu] + FVD[q, nu] FVD[p, nu] + FVD[q, si] FVD[r, si] 
 
FCCanonicalizeDummyIndices[%] // Factor2

p^{\text{mu}} q^{\text{mu}}+p^{\text{nu}} q^{\text{nu}}+q^{\text{si}} r^{\text{si}}

q^{\text{FCGV}(\text{li191})} \left(2 p^{\text{FCGV}(\text{li191})}+r^{\text{FCGV}(\text{li191})}\right)

Uncontract[SPD[q, p]^2, q, p, Pair -> All] 
 
FCCanonicalizeDummyIndices[%, LorentzIndexNames -> {\[Mu], \[Nu]}]

p^{\text{\$AL}(\text{\$28})} p^{\text{\$AL}(\text{\$29})} q^{\text{\$AL}(\text{\$28})} q^{\text{\$AL}(\text{\$29})}

p^{\mu } p^{\nu } q^{\mu } q^{\nu }

Canonicalization of Cartesian indices

CVD[p, i] CVD[q, i] + CVD[p, j] CVD[r, j] 
 
FCCanonicalizeDummyIndices[%] // Factor2

p^i q^i+p^j r^j

p^{\text{FCGV}(\text{ci391})} \left(q^{\text{FCGV}(\text{ci391})}+r^{\text{FCGV}(\text{ci391})}\right)

CVD[p, i] CVD[q, i] + CVD[p, j] CVD[r, j] 
 
FCCanonicalizeDummyIndices[%, CartesianIndexNames -> {a}] // Factor2

p^i q^i+p^j r^j

p^a \left(q^a+r^a\right)

Canonicalization of color indices

SUNT[a, b, a] + SUNT[c, b, c] 
 
FCCanonicalizeDummyIndices[%]

T^a.T^b.T^a+T^c.T^b.T^c

2 T^{\text{FCGV}(\text{sun601})}.T^b.T^{\text{FCGV}(\text{sun601})}

SUNT[a, b, a] + SUNT[c, b, c] 
 
FCCanonicalizeDummyIndices[%, SUNIndexNames -> {u}]

T^a.T^b.T^a+T^c.T^b.T^c

2 T^u.T^b.T^u

Canonicalization of Dirac indices

DCHN[GA[mu], i, j] DCHN[GA[nu], j, k] 
 
FCCanonicalizeDummyIndices[%]

\left(\bar{\gamma }^{\text{mu}}\right){}_{ij} \left(\bar{\gamma }^{\text{nu}}\right){}_{jk}

\left(\bar{\gamma }^{\text{mu}}\right){}_{i\text{FCGV}(\text{di771})} \left(\bar{\gamma }^{\text{nu}}\right){}_{\text{FCGV}(\text{di771})k}

DCHN[GA[mu], i, j] DCHN[GA[nu], j, k] 
 
FCCanonicalizeDummyIndices[%, DiracIndexNames -> {a}]

\left(\bar{\gamma }^{\text{mu}}\right){}_{ij} \left(\bar{\gamma }^{\text{nu}}\right){}_{jk}

\left(\bar{\gamma }^{\text{mu}}\right){}_{ia} \left(\bar{\gamma }^{\text{nu}}\right){}_{ak}

Canonicalization of Pauli indices

PCHN[CSI[a], i, j] PCHN[CSI[b], j, k] 
 
FCCanonicalizeDummyIndices[%]

\left(\overline{\sigma }^a\right){}_{ij} \left(\overline{\sigma }^b\right){}_{jk}

\left(\overline{\sigma }^a\right){}_{i\text{FCGV}(\text{pi921})} \left(\overline{\sigma }^b\right){}_{\text{FCGV}(\text{pi921})k}

PCHN[CSI[a], i, j] PCHN[CSI[b], j, k] 
 
FCCanonicalizeDummyIndices[%, PauliIndexNames -> {l}]

\left(\overline{\sigma }^a\right){}_{ij} \left(\overline{\sigma }^b\right){}_{jk}

\left(\overline{\sigma }^a\right){}_{il} \left(\overline{\sigma }^b\right){}_{lk}

Using the option Head one can specify which index heads should be canonicalized, while the rest will be ignored.

(QuantumField[Superscript[\[Phi], "+"], PauliIndex[k1], PauliIndex[k2], 
     R, r] . QuantumField[FCPartialD[{CartesianIndex[i], r}], 
     FCPartialD[{CartesianIndex[i], r}], \[Phi], PauliIndex[k2], PauliIndex[k1], R, r]) 
 
FCCanonicalizeDummyIndices[%, CartesianIndexNames -> {j}, Head -> {CartesianIndex}]

\phi ^{+\text{k1}\;\text{k2}Rr}.\left(\partial _{\{i,r\}}\partial _{\{i,r\}}\phi ^{\text{k2}\;\text{k1}Rr}\right)

\phi ^{+\text{k1}\;\text{k2}Rr}.\left(\partial _{\{j,r\}}\partial _{\{j,r\}}\phi ^{\text{k2}\;\text{k1}Rr}\right)