This notebook illustrates how to access the Wigner coefficients in the package Wigner6jCoefficientsWithQuarks.m

The package Wigner6jCoefficientsWithQuarks.m contains all Wigner 6j coefficients required to evaluate any QCD color structure with up to 4 quark-antiquark pairs or gluons with any number of colors, Nc, for leading order QCD. (The coefficients from arXiv:1507.03814 have been included for convenience.)

Quit[];

First we load the package. The package Wigner6jCoefficientsWithQuarks.m is assumed to be placed in the same directory as this notebook.

Get[NotebookDirectory[]<>"Wigner6jCoefficientsWithQuarks.m"]

Conventions for representations and vertices in Wigner 6j coefficients

To set our conventions we use the function BirdTrackOfWignerCoefficient. This function will create a graph of a Wigner 6j coefficient. It is used as

BirdTrackOfWignerCoefficient[Representations,Vertices]

where

- Representations is a list of the 6 representations occurring in the Wigner coefficient. 

- Vertices is a list of the four vertices occurring in the Wigner coefficient.

See the below function call and graph to see how the order of the representations and the vertices relate to the Wigner coefficient. The arrows in the graph indicates the directions of the representations (which matter for complex representations).

BirdTrackOfWignerCoefficient[{"α","β","γ","δ","ϵ","ζ"},{"v1","v2","v3","v4"}]

The Wigner coefficients are accessed using the function

Wigner6jCoefficient[Representations,Vertices,OrderOfVertices,ShowFinalOrderOfRepresentationsAndVertices]

where

- Representations is a list of the six representations occurring in the Wigner 6j coefficient. For order, see the function call of BirdTrackOfWignerCoefficient. The allowed representations can be found in the variable AllowedRepresentations.

- Vertices is a list of the four vertices occurring in the Wigner coefficient. For order, see the function call of BirdTrackOfWignerCoefficient. The vertices are represented by numbers, from one to the number of possible vertices between the two representations.

- OrderOfVertices is a list of the order the indices of each vertex are to be read in, anticyclicly (+1) or cyclicly (-1).

- ShowFinalOrderOfRepresentationsAndVertices: the function uses symmetries of Wigner 6j coefficients to put the representations and vertices into a standard form, for which the Wigner 6j coefficient values have been stored. If this option is set to true the final order of the representations and vertices are also given. Omitting the option is equivalent to setting it to false, implying that the final orders will not be shown.

An example is given below. A Wigner coefficient is drawn with BirdTrackOfWignerCoefficient, then Wigner6jCoefficient is used to find its value. Here the last option is omitted, hence the answer is just the value of the coefficient. Wigner6jCoefficient is then called a second time, but with the final option set to True, the function then returns the value of the Wigner coefficient and the final orders.

BirdTrackOfWignerCoefficient[{"8","10","27","8","27","10"},{1,2,1,1}]
Wigner6jCoefficient[{"8","10","27","8","27","10"},{1,2,1,1},{1,1,1,1}]
Wigner6jCoefficient[{"8","10","27","8","27","10"},{1,2,1,1},{1,1,1,1},True]

As an example of the vertex order argument of the Wigner6jCoefficient function we can evaluate a Wigner coefficient for two possible vertex orders.

BirdTrackOfWignerCoefficient[{"8","8","27","8","8","8"},{1,1,1,1}]
Wigner6jCoefficient[{"8","8","27","8","8","8"},{1,1,1,1},{1,-1,-1,1}]
Wigner6jCoefficient[{"8","8","27","8","8","8"},{1,1,1,1},{1,1,1,1}]

Some additional functions and variables:

AllowedRepresentations:

This is a list of all available representations with the sum of quark and antiquark first occurrence of up to 4
(and representations with quark first  occurrence = antiquark first occurrence = 3) see the article for the definition of first occurrence. The lowest representations are for convenience labeled by their Nc=3 dimension, whereas higher representations are denoted by the length of the columns of the quark diagram and the barred anti-quark diagram, see arXiv:1207.0609 for the convention for naming the representations.
Note that some representations will be equivalent for a specific Nc, but not for a general Nc. One such case occurs
for “3bar” and “c2c0” when Nc=3, in these cases the representations have been given different names, as they are not equal for general Nc (one of them gets the Nc=3 dimension as its name, e.g. the 3bar, and the other gets named by its column lengths,
first taking the quark columns and then the antiquark columns).

AllowedRepresentations

Dim:

This is a function containing the dimension of all representations in AllowedRepresentations for a general number of colors Nc.

Dim["27"]
Dim["27"]/.Nc->3
Dim["3bar"]
Dim["3bar"]/.Nc->3

ProductOfRepresentationWithQuarkRules:
ProductOfRepresentationWithAntiquarkRules:
ProductOfRepresentationWithGluonRules:

These are lists of rules for all representations in AllowedRepresentations, applying the rule on a representation, α gives
all the representations in α⊗V, α⊗Vbar or α⊗A.

As an example, the tensor product of an octet with V Vbar A is:

"8"/.ProductOfRepresentationWithGluonRules
"8"/.ProductOfRepresentationWithQuarkRules
"8"/.ProductOfRepresentationWithAntiquarkRules

VertexSymmetriesAllIngoing[{Representations,Vertex}]:

The function VertexSymmetriesAllIngoing gives the symmetry of a vertex under conjugation (or change from reading its indices anticyclicly to reading them cyclicly).

Here

- Representations is a list of the three representations in the vertex (out of which at least one must be an octet, triplet or anti-triplet). 

- Vertex gives which instance of the vertex it is, a number from one to the number of different vertices involving the same three representations.

With the normalization convention and choice of vertices used in the creation of the Wigner 6j coefficients found in Wigner6jCoefficientsWithQuarks.m, dealing with Wigner 3j coefficients is simple. If the two vertices in the 3j coefficient are each others conjugate the coefficient is just one, and if they are different (e.g., the contraction of an i f vertex with a d vertex) it is zero. If the Wigner 3j coefficient has one vertex with a minus sign, then the sign is given by VertexSymmetriesAllIngoing (the vertices have been chosen such that the sign under conjugation is the same as the sign under order reversal, see eq. 7.3 and eq. 7.4).

Below are two examples of the function for the vertices involving three octets. The first vertex, where Vertex=1 is an antisymmetric vertex (the standard triple gluon vertex), so it’s symmetry is -1, and the second vertex is symmetric, so its value is 1.

VertexSymmetriesAllIngoing[{{"8","8","8"},1}]
VertexSymmetriesAllIngoing[{{"8","8","8"},2}]

nVertices[Representations]:
nVertices[{Representations,vi}]:

- Representations: a list of three representations
- vi: a vertex index

This function gives the number of possible vertices for the three representations in Representations,

NVertices[{"8","8","8"}]
NVertices[{"3","3","6bar"}]

nf[Rep]:
nfq[Rep]:
nfqbar[Rep]:
nfTot[Rep]:

- Rep: a representation

The function nf gives the quark and antiquark index of a representation as a list, nfq gives only the quark first occurrence, nfqbar gives the antiquark first occurrence, and nfTot gives the sum of the two first occurrences.

nf["c21c1"]
nfq["c21c1"]
nfqbar["c21c1"]
nfTot["c21c1"]

WignerVerbosity:

This is a number to turn on error printing, if it is larger than 0. 

As an example, we attempt to give a vertex order that is not 1 or -1 and misspelling representation
names.

WignerVerbosity=1;
Wigner6jCoefficient[{"3","3","3","8","8","8"},{1,1,1,1},{1,1,1,a}]
Wigner6jCoefficient[{"3","3","3ba","8","8"," 8"},{1,1,1,1},{1,1,1,1}]