]> www.ginac.de Git - ginac.git/blobdiff - ginac/clifford.h
index 667d7befd9d400749188f8af6f28bcecee1ce83e..81abd9f5c879c956da862f009fc5f24f6b7bcbc4 100644 (file)
@@ -28,6 +28,8 @@
#include "symbol.h"
#include "idx.h"

#include "symbol.h"
#include "idx.h"

+#include <set>
+
namespace GiNaC {

namespace GiNaC {

@@ -226,6 +228,26 @@ ex dirac_gammaR(unsigned char rl = 0);
*  @param rl Representation label */
ex dirac_slash(const ex & e, const ex & dim, unsigned char rl = 0);

*  @param rl Representation label */
ex dirac_slash(const ex & e, const ex & dim, unsigned char rl = 0);

+/** Calculate dirac traces over the specified set of representation labels.
+ *  The computed trace is a linear functional that is equal to the usual
+ *  trace only in D = 4 dimensions. In particular, the functional is not
+ *  always cyclic in D != 4 dimensions when gamma5 is involved.
+ *
+ *  @param e Expression to take the trace of
+ *  @param rls Set of representation labels
+ *  @param trONE Expression to be returned as the trace of the unit matrix */
+ex dirac_trace(const ex & e, const std::set<unsigned char> & rls, const ex & trONE = 4);
+
+/** Calculate dirac traces over the specified list of representation labels.
+ *  The computed trace is a linear functional that is equal to the usual
+ *  trace only in D = 4 dimensions. In particular, the functional is not
+ *  always cyclic in D != 4 dimensions when gamma5 is involved.
+ *
+ *  @param e Expression to take the trace of
+ *  @param rll List of representation labels
+ *  @param trONE Expression to be returned as the trace of the unit matrix */
+ex dirac_trace(const ex & e, const lst & rll, const ex & trONE = 4);
+
/** Calculate the trace of an expression containing gamma objects with
*  a specified representation label. The computed trace is a linear
*  functional that is equal to the usual trace only in D = 4 dimensions.
/** Calculate the trace of an expression containing gamma objects with
*  a specified representation label. The computed trace is a linear
*  functional that is equal to the usual trace only in D = 4 dimensions.