====== UnitaryTrace ======
----
====Description====
* ''%% UnitaryTrace%%'' calculates the trace of SU(N) matrices in expressions.
* By default ''UnitaryTrace'' uses notation ''T_A'' for SU(N) matrices, ''f_ABC'' for SU(N) structural constants, ''d_ABC'' for $d$-constatnts and ''N'' for dimension.
* ''%%UnitaryTrace[[Matrix: T, f: f, d: d, N:n]]%%'' specifies the notation for SU(N) matrices, structural constants, $d$-constants and dimension .
====Examples====
----
Calculate different traces:
//set up matrices
defineMatrices 'T_A', Matrix2.matrix
//structure constants are antisymmetric
setAntiSymmetric 'f_ABC'
//d-constants are symmetric
setSymmetric 'd_ABC'
println UnitaryTrace >> 'Tr[T_A*T_B]'.t
> (1/2)*g_AB
UnitaryTrace >> 'Tr[T_A*T_B*T_C]'.t
> (1/4*I)*f_{CAB}+(1/4)*d_{CAB}'
UnitaryTrace >> 'Tr[T_A*T^A + 1]'.t
> N-1/2+(1/2)*N**2
UnitaryTrace >> 'Tr[T_A*T_B*T_C*T^A]'.t
> (-(1/4)*N**(-1)+(1/4)*N)*g_{BC}
----
Use another notation for SU(N) objects:
//set up matrices
defineMatrices 'm_a', Matrix4.matrix
//structure constants are antisymmetric
setAntiSymmetric 'a_abc'
//d-constants are symmetric
setSymmetric 's_abc'
def uTrace = UnitaryTrace[[Matrix: 'm_a', f: 'a_abc', d: 's_abc', N: 'n']]
println uTrace >> 'Tr[m^a*m_b*m^c*(p^b*m_a + p_a*m^b)*m_n]'.t
> (-1/4*I)*n**(-1)*a_{n}^{ac}*p_{a}-(1/4)*n**(-1)*p_{a}*s_{n}^{ac}
====See also====
* Related guides: [[documentation:guide:applying_and_manipulating_transformations]], [[documentation:guide:Setting up matrix objects]], [[documentation:guide:list_of_transformations]]
* Related tutorials: [[documentation:tutorials:Compton scattering in QCD]]
* Related transformations: [[documentation:ref:unitarysimplify]], [[documentation:ref:diractrace]]
* JavaDocs: [[http://api.redberry.cc/redberry/1.1.9/java-api//cc/redberry/physics/feyncalc/UnitaryTraceTransformation.html| UnitaryTraceTransformation]]
* Source code: [[https://bitbucket.org/redberry/redberry/src/tip/physics/src/main/java/cc/redberry/physics/feyncalc/UnitaryTraceTransformation.java|UnitaryTraceTransformation.java]]