|
| reduce_delta (const Kernel &, Ex &) |
|
virtual bool | can_apply (iterator) override |
|
virtual result_t | apply (iterator &) override |
|
| Algorithm (const Kernel &, Ex &) |
| Initialise the algorithm with a reference to the expression tree, but do not yet do anything with this tree.
|
|
virtual | ~Algorithm () |
|
void | set_progress_monitor (ProgressMonitor *) |
| Provide the algorithm with a ProgressMonitor object on which to register (nested) progress information, to be reported out-of-band to a client.
|
|
result_t | apply_generic (bool deep=true, bool repeat=false, unsigned int depth=0) |
| The main entry points for running algorithms, which traverse the tree post-order ('child before parent').
|
|
result_t | apply_generic (iterator &, bool deep, bool repeat, unsigned int depth) |
|
result_t | apply_pre_order (bool repeat=false) |
| Apply algorithm with alternative traversal: starting from the top node, traverse the tree pre-order ('parent before child') and once the algorithm acts at a given node, do not traverse the subtree below anymore.
|
|
bool | check_consistency (iterator) const |
| Given an expression top node, check index consistency.
|
|
bool | check_index_consistency (iterator) const |
|
bool | check_degree_consistency (iterator) const |
| Given an expression top node, check differential form degree consistency.
|
|
void | report_progress (const std::string &, int todo, int done, int count=2) |
|
index_iterator | begin_index (iterator it) const |
|
index_iterator | end_index (iterator it) const |
|
unsigned int | number_of_indices (iterator it) |
|
std::string | get_index_set_name (iterator it) const |
|
bool | rename_replacement_dummies (iterator, bool still_inside_algo=false) |
| Rename the dummies in the sub-tree starting with head at the given iterator.
|
|
void | pushup_multiplier (iterator) |
| Determines whether the indicated node is 'like a factor in a product'.
|
|
template<class BinaryPredicate> |
unsigned int | intersection_number (sibling_iterator, sibling_iterator, sibling_iterator, sibling_iterator, BinaryPredicate) const |
| Determine the number of elements in the first range which also occur in the second range.
|
|
void | node_zero (iterator) |
|
void | node_one (iterator) |
|
void | node_integer (iterator, int) |
|
| IndexClassifier (const Kernel &) |
|
void | fill_index_position_map (Ex::iterator, const index_map_t &, index_position_map_t &) const |
| Routines to find and classify all indices in an expression, taking into account sums and products.
|
|
void | fill_map (index_map_t &, Ex::sibling_iterator, Ex::sibling_iterator) const |
|
void | print_classify_indices (std::ostream &, Ex::iterator) const |
|
void | determine_intersection (index_map_t &one, index_map_t &two, index_map_t &target, bool move_out=false) const |
| Determine those indices in 'two' which have a name which is identical to an index name occurring in 'one'.
|
|
void | classify_add_index (Ex::iterator it, index_map_t &ind_free, index_map_t &ind_dummy) const |
|
void | classify_indices_up (Ex::iterator, index_map_t &ind_free, index_map_t &ind_dummy) const |
| Classify indices bottom-up, that is, given a node, it goes up the tree to find.
|
|
void | classify_indices (Ex::iterator, index_map_t &ind_free, index_map_t &ind_dummy) const |
| Classify indices top-down, that is, finds the free indices and all dummy index pairs used in the full subtree below a given node.
|
|
int | max_numbered_name_one (const std::string &nm, const index_map_t *one) const |
|
int | max_numbered_name (const std::string &, const index_map_t *m1, const index_map_t *m2=0, const index_map_t *m3=0, const index_map_t *m4=0, const index_map_t *m5=0) const |
|
Ex | get_dummy (const list_property *, const index_map_t *m1, const index_map_t *m2=0, const index_map_t *m3=0, const index_map_t *m4=0, const index_map_t *m5=0) const |
|
Ex | get_dummy (const list_property *, Ex::iterator) const |
|
Ex | get_dummy (const list_property *, Ex::iterator, Ex::iterator) const |
|
bool | index_in_set (Ex, const index_map_t *) const |
|
void | dumpmap (std::ostream &, const index_map_t &) const |
|
index_map_t::iterator | find_modulo_parent_rel (Ex::iterator it, index_map_t &imap) const |
| Find an index in the set, not taking into account index position.
|
|