![]() |
Cadabra
Computer algebra system for field theory problems
|
#include <drop_weight.hh>
Public Member Functions | |
drop_weight (const Kernel &, Ex &, Ex &) | |
virtual result_t | apply (iterator &) override |
![]() | |
drop_keep_weight (const Kernel &, Ex &, Ex &) | |
virtual bool | can_apply (iterator) override |
result_t | do_apply (iterator &, bool keepthem) |
![]() | |
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. | |
Ex_set_t | dependencies (iterator it) const |
Determine all the Coordinate dependencies of the object at 'it'. | |
![]() | |
ExManip (const Kernel &, Ex &) | |
bool | prod_wrap_single_term (iterator &) |
Take a single non-product node in a sum and wrap it in a product node, so it can be handled on the same footing as a proper product. | |
bool | prod_unwrap_single_term (iterator &) |
bool | sum_wrap_single_term (iterator &) |
bool | sum_unwrap_single_term (iterator &) |
bool | is_single_term (iterator) |
Is the indicated node a single term in an expression? | |
bool | is_nonprod_factor_in_prod (iterator) |
void | force_node_wrap (iterator &, std::string) |
Wrap a term in a product or sum in a node with indicated name, irrespective of its parent (it usually makes more sense to call the safer prod_wrap_single_term or sum_wrap_single_term above). | |
|
overridevirtual |
Implements cadabra::Algorithm.