45 color(
const ex & b,
unsigned char rl = 0);
46 color(
const ex & b,
const ex & i1,
unsigned char rl = 0);
156 ex
color_T(
const ex & a,
unsigned char rl = 0);
164 ex
color_f(
const ex & a,
const ex & b,
const ex &
c);
172 ex
color_d(
const ex & a,
const ex & b,
const ex &
c);
175 ex
color_h(
const ex & a,
const ex & b,
const ex &
c);
181 ex
color_trace(
const ex & e,
const std::set<unsigned char> & rls);
194 ex
color_trace(
const ex & e,
unsigned char rl = 0);
198 #endif // ndef GINAC_COLOR_H bool contract_with(exvector::iterator self, exvector::iterator other, exvector &v) const override
Contraction of an indexed antisymmetric structure constant with something else.
ex color_d(const ex &a, const ex &b, const ex &c)
Create an su(3) symmetric structure constant.
This class holds a generator T_a or the unity element of the Lie algebra of SU(3), as used for calculations in quantum chromodynamics.
unsigned return_type() const override
Interface to GiNaC's indexed expressions.
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 do_print(const print_context &c, unsigned level) const
return_type_t return_type_tinfo() const override
color(const ex &b, unsigned char rl=0)
Construct object without any color index.
ex color_trace(const ex &e, const std::set< unsigned char > &rls)
Calculate color traces over the specified set of representation labels.
ex eval_indexed(const basic &i) const override
Automatic symbolic evaluation of indexed symmetric structure constant.
This class is the ABC (abstract base class) of GiNaC's class hierarchy.
This class holds one of GiNaC's predefined special tensors such as the delta and the metric tensors...
bool match_same_type(const basic &other) const override
Returns true if the attributes of two objects are similar enough for a match.
This class represents the tensor of antisymmetric su(3) structure constants.
void do_print_latex(const print_latex &c, unsigned level) const
container< std::list > lst
Interface to GiNaC's special tensors.
Context for latex-parsable output.
void archive(archive_node &n) const override
Save (serialize) the object into archive node.
bool contract_with(exvector::iterator self, exvector::iterator other, exvector &v) const override
Contraction of generator with something else.
This class holds an indexed expression.
void do_print_latex(const print_latex &c, unsigned level) const
void do_print(const print_context &c, unsigned level) const
This class represents an su(3) generator.
void read_archive(const archive_node &n, lst &sym_lst) override
Load (deserialize) the object from an archive node.
To distinguish between different kinds of non-commutative objects.
This class represents the su(3) unity element.
std::vector< ex > exvector
void do_print(const print_context &c, unsigned level) const
ex thiscontainer(const exvector &v) const override
Base class for print_contexts.
void do_print_latex(const print_latex &c, unsigned level) const
void do_print_latex(const print_latex &c, unsigned level) const
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.
unsigned return_type() const override
This class stores all properties needed to record/retrieve the state of one object of class basic (or...
Lightweight wrapper for GiNaC's symbolic objects.
void do_print(const print_context &c, unsigned level) const
ex color_ONE(unsigned char rl)
Create the su(3) unity element.
Wrapper template for making GiNaC classes out of STL containers.
#define GINAC_DECLARE_REGISTERED_CLASS(classname, supername)
Macro for inclusion in the declaration of each registered class.
ex eval_indexed(const basic &i) const override
Automatic symbolic evaluation of indexed antisymmetric structure constant.
This class represents the tensor of symmetric su(3) structure constants.
GINAC_DECLARE_UNARCHIVER(add)
bool contract_with(exvector::iterator self, exvector::iterator other, exvector &v) const override
Contraction of an indexed symmetric structure constant with something else.
ex eval_ncmul(const exvector &v) const override
Perform automatic simplification on noncommutative product of color objects.
ex color_T(const ex &a, unsigned char rl)
Create an su(3) generator.