Cadabra
Computer algebra system for field theory problems
Loading...
Searching...
No Matches
join_gamma.hh
Go to the documentation of this file.
1#pragma once
2
3#include "Algorithm.hh"
5
6namespace 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;
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:59
Ex::iterator iterator
Definition Algorithm.hh:70
Ex::sibling_iterator sibling_iterator
Definition Algorithm.hh:72
Basic storage class for symbolic mathemematical expressions.
Definition Storage.hh:142
result_t
Keeping track of what algorithms have done to this expression.
Definition Storage.hh:168
Definition GammaMatrix.hh:9
Definition Kernel.hh:15
Definition expand.hh:8
Definition join_gamma.hh:8
bool expand
Definition join_gamma.hh:15
str_node::bracket_t gamma_bracket_
Definition join_gamma.hh:27
const GammaMatrix * gm1
Definition join_gamma.hh:17
virtual result_t apply(iterator &)
Definition join_gamma.cc:138
bool use_generalised_delta_
Definition join_gamma.hh:25
const GammaMatrix * gm2
Definition join_gamma.hh:17
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
Ex::iterator gamma_name_
Definition join_gamma.hh:26
virtual bool can_apply(iterator)
Definition join_gamma.cc:109
std::vector< int > only_expand
Definition join_gamma.hh:16
void regroup_indices_(sibling_iterator, sibling_iterator, unsigned int, std::vector< Ex > &, std::vector< Ex > &)
Definition join_gamma.cc:15
bracket_t
Definition Storage.hh:58
Functions to handle the exchange properties of two or more symbols in a product.
Definition Adjform.cc:83
void set(rset_t::iterator &num, multiplier_t fac)
Definition Storage.cc:1063
mpq_class multiplier_t
Definition Storage.hh:38