Cadabra
Computer algebra system for field theory problems
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
join_gamma.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Algorithm.hh"
5 
6 namespace cadabra {
7 
8 class join_gamma : public Algorithm {
9  public:
10  join_gamma(const Kernel&, Ex&, bool expand, bool use_gendelta);
11 
12  virtual bool can_apply(iterator);
13  virtual result_t apply(iterator&);
14 
15  bool expand;
16  std::vector<int> only_expand;
17  const GammaMatrix *gm1, *gm2;
18  private:
20  std::vector<Ex>&, std::vector<Ex>& );
21  void append_prod_(const std::vector<Ex>& r1, const std::vector<Ex>& r2,
22  unsigned int num1, unsigned int num2, unsigned int i, multiplier_t mult,
23  Ex& rep, iterator loc);
24 
26  Ex::iterator gamma_name_;
28 };
29 
30 }
Base class for all algorithms, containing generic routines and in particular the logic for index clas...
Definition: Algorithm.hh:58
virtual result_t apply(iterator &)
Definition: join_gamma.cc:134
virtual bool can_apply(iterator)
Definition: join_gamma.cc:109
Basic storage class for symbolic mathemematical expressions.
Definition: Storage.hh:130
const GammaMatrix * gm1
Definition: join_gamma.hh:17
void regroup_indices_(sibling_iterator, sibling_iterator, unsigned int, std::vector< Ex > &, std::vector< Ex > &)
Definition: join_gamma.cc:15
Ex::iterator gamma_name_
Definition: join_gamma.hh:26
bool use_generalised_delta_
Definition: join_gamma.hh:25
Definition: GammaMatrix.hh:9
const GammaMatrix * gm2
Definition: join_gamma.hh:17
Definition: expand.hh:8
Ex::iterator iterator
Definition: Algorithm.hh:69
Ex::sibling_iterator sibling_iterator
Definition: Algorithm.hh:71
void append_prod_(const std::vector< Ex > &r1, const std::vector< Ex > &r2, unsigned int num1, unsigned int num2, unsigned int i, multiplier_t mult, Ex &rep, iterator loc)
Definition: join_gamma.cc:49
str_node::bracket_t gamma_bracket_
Definition: join_gamma.hh:27
Definition: join_gamma.hh:8
mpq_class multiplier_t
Definition: Storage.hh:38
std::vector< int > only_expand
Definition: join_gamma.hh:16
Definition: Kernel.hh:15
join_gamma(const Kernel &, Ex &, bool expand, bool use_gendelta)
Definition: join_gamma.cc:10
bracket_t
Definition: Storage.hh:57
result_t
Keeping track of what algorithms have done to this expression.
Definition: Storage.hh:149
bool expand
Definition: join_gamma.hh:15