Cadabra
Computer algebra system for field theory problems
young_reduce.hh
Go to the documentation of this file.
1 #include "Algorithm.hh"
2 
3 namespace cadabra
4 {
5  class young_reduce : public Algorithm
6  {
7  public:
8  young_reduce(const Kernel& kernel, Ex& ex, const Ex& pattern, bool search_permutations = false);
9 
10  virtual bool can_apply(iterator it);
11  virtual result_t apply(iterator& it);
12 
13  private:
14  void cleanup(iterator& it);
15 
16  result_t reduce(iterator& it, const std::vector<Ex::iterator>& its);
17  result_t permute(iterator& it, const std::vector<Ex::iterator>& its);
18 
20  const Ex& pattern;
21  };
22 
23 }
virtual result_t apply(iterator &it)
Definition: young_reduce.cc:399
Base class for all algorithms, containing generic routines and in particular the logic for index clas...
Definition: Algorithm.hh:59
Basic storage class for symbolic mathemematical expressions.
Definition: Storage.hh:139
bool search_permutations
Definition: young_reduce.hh:19
void cleanup(iterator &it)
Definition: young_reduce.cc:394
Definition: young_reduce.hh:5
result_t permute(iterator &it, const std::vector< Ex::iterator > &its)
Definition: young_reduce.cc:442
Ex::iterator iterator
Definition: Algorithm.hh:70
virtual bool can_apply(iterator it)
Definition: young_reduce.cc:389
Functions to handle the exchange properties of two or more symbols in a product.
Definition: Algorithm.cc:1030
const Kernel & kernel
Definition: IndexClassifier.hh:66
const Ex & pattern
Definition: young_reduce.hh:20
result_t reduce(iterator &it, const std::vector< Ex::iterator > &its)
Definition: young_reduce.cc:412
young_reduce(const Kernel &kernel, Ex &ex, const Ex &pattern, bool search_permutations=false)
Definition: young_reduce.cc:381
Definition: Kernel.hh:14
Definition: Props.hh:35
result_t
Keeping track of what algorithms have done to this expression.
Definition: Storage.hh:158