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
.
Overview, FCRenameDummyIndices.
Canonicalization of Lorentz indices
[q, mu] FVD[p, mu] + FVD[q, nu] FVD[p, nu] + FVD[q, si] FVD[r, si]
FVD
[%] // Factor2 FCCanonicalizeDummyIndices
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)
[SPD[q, p]^2, q, p, Pair -> All]
Uncontract
[%, LorentzIndexNames -> {\[Mu], \[Nu]}] FCCanonicalizeDummyIndices
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
[p, i] CVD[q, i] + CVD[p, j] CVD[r, j]
CVD
[%] // Factor2 FCCanonicalizeDummyIndices
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)
[p, i] CVD[q, i] + CVD[p, j] CVD[r, j]
CVD
[%, CartesianIndexNames -> {a}] // Factor2 FCCanonicalizeDummyIndices
p^i q^i+p^j r^j
p^a \left(q^a+r^a\right)
Canonicalization of color indices
[a, b, a] + SUNT[c, b, c]
SUNT
[%] 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})}
[a, b, a] + SUNT[c, b, c]
SUNT
[%, SUNIndexNames -> {u}] FCCanonicalizeDummyIndices
T^a.T^b.T^a+T^c.T^b.T^c
2 T^u.T^b.T^u
Canonicalization of Dirac indices
[GA[mu], i, j] DCHN[GA[nu], j, k]
DCHN
[%] 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}
[GA[mu], i, j] DCHN[GA[nu], j, k]
DCHN
[%, DiracIndexNames -> {a}] FCCanonicalizeDummyIndices
\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
[CSI[a], i, j] PCHN[CSI[b], j, k]
PCHN
[%] 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}
[CSI[a], i, j] PCHN[CSI[b], j, k]
PCHN
[%, PauliIndexNames -> {l}] FCCanonicalizeDummyIndices
\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.
[Superscript[\[Phi], "+"], PauliIndex[k1], PauliIndex[k2],
(QuantumFieldR, r] . QuantumField[FCPartialD[{CartesianIndex[i], r}],
[{CartesianIndex[i], r}], \[Phi], PauliIndex[k2], PauliIndex[k1], R, r])
FCPartialD
[%, CartesianIndexNames -> {j}, Head -> {CartesianIndex}] FCCanonicalizeDummyIndices
\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)