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 μ, ν, ρ 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
pmuqmu+pnuqnu+qsirsi
qFCGV(li191)(2pFCGV(li191)+rFCGV(li191))
Uncontract[SPD[q, p]^2, q, p, Pair -> All]
FCCanonicalizeDummyIndices[%, LorentzIndexNames -> {\[Mu], \[Nu]}]
p$AL($28)p$AL($29)q$AL($28)q$AL($29)
pμpνqμqν
Canonicalization of Cartesian indices
CVD[p, i] CVD[q, i] + CVD[p, j] CVD[r, j]
FCCanonicalizeDummyIndices[%] // Factor2
piqi+pjrj
pFCGV(ci391)(qFCGV(ci391)+rFCGV(ci391))
CVD[p, i] CVD[q, i] + CVD[p, j] CVD[r, j]
FCCanonicalizeDummyIndices[%, CartesianIndexNames -> {a}] // Factor2
piqi+pjrj
pa(qa+ra)
Canonicalization of color indices
SUNT[a, b, a] + SUNT[c, b, c]
FCCanonicalizeDummyIndices[%]
Ta.Tb.Ta+Tc.Tb.Tc
2TFCGV(sun601).Tb.TFCGV(sun601)
SUNT[a, b, a] + SUNT[c, b, c]
FCCanonicalizeDummyIndices[%, SUNIndexNames -> {u}]
Ta.Tb.Ta+Tc.Tb.Tc
2Tu.Tb.Tu
Canonicalization of Dirac indices
DCHN[GA[mu], i, j] DCHN[GA[nu], j, k]
FCCanonicalizeDummyIndices[%]
(γˉmu)ij(γˉnu)jk
(γˉmu)iFCGV(di771)(γˉnu)FCGV(di771)k
DCHN[GA[mu], i, j] DCHN[GA[nu], j, k]
FCCanonicalizeDummyIndices[%, DiracIndexNames -> {a}]
(γˉmu)ij(γˉnu)jk
(γˉmu)ia(γˉnu)ak
Canonicalization of Pauli indices
PCHN[CSI[a], i, j] PCHN[CSI[b], j, k]
FCCanonicalizeDummyIndices[%]
(σa)ij(σb)jk
(σa)iFCGV(pi921)(σb)FCGV(pi921)k
PCHN[CSI[a], i, j] PCHN[CSI[b], j, k]
FCCanonicalizeDummyIndices[%, PauliIndexNames -> {l}]
(σa)ij(σb)jk
(σa)il(σb)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}]
ϕ+k1k2Rr.(∂{i,r}∂{i,r}ϕk2k1Rr)
ϕ+k1k2Rr.(∂{j,r}∂{j,r}ϕk2k1Rr)