49 const
ex & f4, const
ex & f5);
51 const
ex & f4, const
ex & f5, const
ex & f6);
58 bool info(
unsigned inf)
const override;
59 int degree(
const ex & s)
const override;
62 ex coeff(
const ex & s,
int n=1)
const override;
Archiving of GiNaC expressions.
Wrapper template for making GiNaC classes out of STL containers.
Lightweight wrapper for GiNaC's symbolic objects.
Non-commutative product of expressions.
unsigned precedence() const override
Return relative operator precedence (for parenthezing output).
int ldegree(const ex &s) const override
Return degree of lowest power in object s.
friend ex reeval_ncmul(const exvector &v)
int degree(const ex &s) const override
Return degree of highest power in object s.
void append_factors(exvector &v, const ex &e) const
exvector get_free_indices() const override
Return a vector containing the free indices of an expression.
ex coeff(const ex &s, int n=1) const override
Return coefficient of degree n in object s.
return_type_t return_type_tinfo() const override
void do_print(const print_context &c, unsigned level) const
ex expand(unsigned options=0) const override
Expand expression, i.e.
exvector expandchildren(unsigned options) const
ex imag_part() const override
ex real_part() const override
void do_print_csrc(const print_context &c, unsigned level) const
ex eval() const override
Perform automatic term rewriting rules in this class.
friend ex hold_ncmul(const exvector &v)
ex evalm() const override
Evaluate sums, products and integer powers of matrices.
ex derivative(const symbol &s) const override
Implementation of ex::diff() for a non-commutative product.
unsigned return_type() const override
bool info(unsigned inf) const override
Information about the object.
const exvector & get_factors() const
size_t count_factors(const ex &e) const
ex thiscontainer(const exvector &v) const override
ex conjugate() const override
This class holds a two-component object, a basis and and exponent representing exponentiation.
Base class for print_contexts.
Definition of GiNaC's exprseq.
ex hold_ncmul(const exvector &v)
ex reeval_ncmul(const exvector &v)
GINAC_DECLARE_UNARCHIVER(add)
std::vector< ex > exvector
#define GINAC_DECLARE_REGISTERED_CLASS(classname, supername)
Macro for inclusion in the declaration of each registered class.
To distinguish between different kinds of non-commutative objects.