Cadabra
Computer algebra system for field theory problems
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
cadabra::ExManip Class Reference

#include <ExManip.hh>

Inheritance diagram for cadabra::ExManip:
cadabra::Algorithm cadabra::visit::ReservedNode cadabra::canonicalise cadabra::collect_components cadabra::collect_factors cadabra::collect_terms cadabra::combine cadabra::complete cadabra::component cadabra::decompose cadabra::decompose_product cadabra::distribute cadabra::drop_keep_weight cadabra::einsteinify cadabra::eliminate_converter cadabra::eliminate_kronecker cadabra::epsilon_to_delta cadabra::evaluate cadabra::expand cadabra::expand_delta cadabra::expand_diracbar cadabra::expand_dummies cadabra::expand_power cadabra::explicit_indices cadabra::factor_in cadabra::factor_out cadabra::fierz cadabra::first_order_form cadabra::flatten_product cadabra::flatten_sum cadabra::indexsort cadabra::integrate_by_parts cadabra::join_gamma cadabra::keep_terms cadabra::lower_free_indices cadabra::map_mma cadabra::map_sympy cadabra::meld cadabra::nevaluate cadabra::nval cadabra::order cadabra::product_rule cadabra::reduce_delta cadabra::rename_dummies cadabra::replace_match cadabra::rewrite_indices cadabra::simplify cadabra::sort_product cadabra::sort_spinors cadabra::sort_sum cadabra::split cadabra::split_gamma cadabra::split_index cadabra::substitute cadabra::sym cadabra::tab_basics cadabra::tabdimension cadabra::take_match cadabra::untrace cadabra::unwrap cadabra::unzoom cadabra::vary cadabra::young_project cadabra::young_project_product cadabra::young_project_tensor cadabra::zoom cadabra::visit::Equals cadabra::visit::Sum

Public Types

typedef Ex::iterator_base iterator_base
 
typedef Ex::iterator iterator
 
typedef Ex::post_order_iterator post_order_iterator
 
typedef Ex::sibling_iterator sibling_iterator
 

Public Member Functions

 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).
 

Protected Attributes

const Kernelkernel
 
Extr
 

Member Typedef Documentation

◆ iterator

◆ iterator_base

◆ post_order_iterator

◆ sibling_iterator

Constructor & Destructor Documentation

◆ ExManip()

ExManip::ExManip ( const Kernel k,
Ex e 
)

Member Function Documentation

◆ force_node_wrap()

void ExManip::force_node_wrap ( iterator it,
std::string  nm 
)

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).

Sets the iterator to the new node.

◆ is_nonprod_factor_in_prod()

bool ExManip::is_nonprod_factor_in_prod ( iterator  it)

◆ is_single_term()

bool ExManip::is_single_term ( iterator  it)

Is the indicated node a single term in an expression?

Returns true if the indicated node is a single non-reserved node (non-prod, non-sum, ...) at the top level of an expression (real top, top of equation lhs/rhs, top of integral argument, ...).

◆ prod_unwrap_single_term()

bool ExManip::prod_unwrap_single_term ( iterator it)

◆ prod_wrap_single_term()

bool ExManip::prod_wrap_single_term ( iterator it)

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.

◆ sum_unwrap_single_term()

bool ExManip::sum_unwrap_single_term ( iterator it)

◆ sum_wrap_single_term()

bool ExManip::sum_wrap_single_term ( iterator it)

Member Data Documentation

◆ kernel

const Kernel& cadabra::ExManip::kernel
protected

◆ tr

Ex& cadabra::ExManip::tr
protected

The documentation for this class was generated from the following files: