Cadabra
Computer algebra system for field theory problems
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  }
cadabra::Algorithm::sibling_iterator
Ex::sibling_iterator sibling_iterator
Definition: Algorithm.hh:72
Algorithm.hh
cadabra::join_gamma::append_prod_
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
cadabra::Kernel
Definition: Kernel.hh:15
cadabra::join_gamma::join_gamma
join_gamma(const Kernel &, Ex &, bool expand, bool use_gendelta)
Definition: join_gamma.cc:10
cadabra::join_gamma::gamma_bracket_
str_node::bracket_t gamma_bracket_
Definition: join_gamma.hh:27
cadabra::expand
Definition: expand.hh:8
cadabra::GammaMatrix
Definition: GammaMatrix.hh:9
cadabra::join_gamma::expand
bool expand
Definition: join_gamma.hh:15
cadabra::join_gamma::gm1
const GammaMatrix * gm1
Definition: join_gamma.hh:17
cadabra::join_gamma::only_expand
std::vector< int > only_expand
Definition: join_gamma.hh:16
GammaMatrix.hh
cadabra::join_gamma::apply
virtual result_t apply(iterator &)
Definition: join_gamma.cc:138
cadabra::join_gamma::regroup_indices_
void regroup_indices_(sibling_iterator, sibling_iterator, unsigned int, std::vector< Ex > &, std::vector< Ex > &)
Definition: join_gamma.cc:15
cadabra::join_gamma::can_apply
virtual bool can_apply(iterator)
Definition: join_gamma.cc:109
cadabra::Algorithm::iterator
Ex::iterator iterator
Definition: Algorithm.hh:70
cadabra::Algorithm
Definition: Algorithm.hh:59
cadabra
Functions to handle the exchange properties of two or more symbols in a product.
Definition: Adjform.cc:83
cadabra::Ex
Definition: Storage.hh:140
cadabra::str_node::bracket_t
bracket_t
Definition: Storage.hh:57
cadabra::multiplier_t
mpq_class multiplier_t
Definition: Storage.hh:38
cadabra::join_gamma::gm2
const GammaMatrix * gm2
Definition: join_gamma.hh:17
cadabra::join_gamma::gamma_name_
Ex::iterator gamma_name_
Definition: join_gamma.hh:26
cadabra::join_gamma::use_generalised_delta_
bool use_generalised_delta_
Definition: join_gamma.hh:25
cadabra::Ex::result_t
result_t
Keeping track of what algorithms have done to this expression.
Definition: Storage.hh:159
cadabra::join_gamma
Definition: join_gamma.hh:8