45 color(
const ex & b,
unsigned char rl = 0);
46 color(
const ex & b,
const ex & i1,
unsigned char rl = 0);
#define GINAC_DECLARE_UNARCHIVER(classname)
Helper macros to register a class with (un)archiving (a.k.a.
This class stores all properties needed to record/retrieve the state of one object of class basic (or...
This class holds archived versions of GiNaC expressions (class ex).
This class is the ABC (abstract base class) of GiNaC's class hierarchy.
This class holds a generator T_a or the unity element of the Lie algebra of SU(3),...
return_type_t return_type_tinfo() const override
ex eval_ncmul(const exvector &v) const override
Perform automatic simplification on noncommutative product of color objects.
unsigned char representation_label
Representation label to distinguish independent color matrices coming from separated fermion lines.
unsigned return_type() const override
unsigned char get_representation_label() const
void read_archive(const archive_node &n, lst &sym_lst) override
Load (deserialize) the object from an archive node.
bool match_same_type(const basic &other) const override
Returns true if the attributes of two objects are similar enough for a match.
ex thiscontainer(const exvector &v) const override
Wrapper template for making GiNaC classes out of STL containers.
Lightweight wrapper for GiNaC's symbolic objects.
This class holds an indexed expression.
Base class for print_contexts.
Context for latex-parsable output.
This class represents the tensor of symmetric su(3) structure constants.
unsigned return_type() const override
void do_print_latex(const print_latex &c, unsigned level) const
void do_print(const print_context &c, unsigned level) const
ex eval_indexed(const basic &i) const override
Automatic symbolic evaluation of indexed symmetric structure constant.
bool contract_with(exvector::iterator self, exvector::iterator other, exvector &v) const override
Contraction of an indexed symmetric structure constant with something else.
This class represents the tensor of antisymmetric su(3) structure constants.
ex eval_indexed(const basic &i) const override
Automatic symbolic evaluation of indexed antisymmetric structure constant.
unsigned return_type() const override
bool contract_with(exvector::iterator self, exvector::iterator other, exvector &v) const override
Contraction of an indexed antisymmetric structure constant with something else.
void do_print(const print_context &c, unsigned level) const
void do_print_latex(const print_latex &c, unsigned level) const
This class represents the su(3) unity element.
void do_print(const print_context &c, unsigned level) const
void do_print_latex(const print_latex &c, unsigned level) const
This class represents an su(3) generator.
bool contract_with(exvector::iterator self, exvector::iterator other, exvector &v) const override
Contraction of generator with something else.
void do_print(const print_context &c, unsigned level) const
void do_print_latex(const print_latex &c, unsigned level) const
This class holds one of GiNaC's predefined special tensors such as the delta and the metric tensors.
Interface to GiNaC's indexed expressions.
ex color_ONE(unsigned char rl)
Create the su(3) unity element.
ex color_T(const ex &a, unsigned char rl)
Create an su(3) generator.
ex color_trace(const ex &e, const std::set< unsigned char > &rls)
Calculate color traces over the specified set of representation labels.
ex color_f(const ex &a, const ex &b, const ex &c)
Create an su(3) antisymmetric structure constant.
ex color_h(const ex &a, const ex &b, const ex &c)
This returns the linear combination d.a.b.c+I*f.a.b.c.
ex color_d(const ex &a, const ex &b, const ex &c)
Create an su(3) symmetric structure constant.
std::vector< ex > exvector
#define GINAC_DECLARE_REGISTERED_CLASS(classname, supername)
Macro for inclusion in the declaration of each registered class.
To distinguish between different kinds of non-commutative objects.
Interface to GiNaC's special tensors.