40 add(const
ex & lh, const
ex & rh);
50 bool info(
unsigned inf)
const override;
52 int degree(
const ex & s)
const override;
54 ex coeff(
const ex & s,
int n=1)
const override;
75 const ex &
c)
const override;
77 const ex &
c)
const override;
83 void print_add(
const print_context &
c,
const char *openbrace,
const char *closebrace,
const char *mul_sym,
unsigned level)
const;
unsigned return_type() const override
ex derivative(const symbol &s) const override
Implementation of ex::diff() for a sum.
ex coeff(const ex &s, int n=1) const override
Return coefficient of degree n in object s.
void print_add(const print_context &c, const char *openbrace, const char *closebrace, const char *mul_sym, unsigned level) const
ex eval() const override
Perform automatic term rewriting rules in this class.
numeric integer_content() const override
void do_print(const print_context &c, unsigned level) const
ex real_part() const override
int degree(const ex &s) const override
Return degree of highest power in object s.
ex series(const relational &r, int order, unsigned options=0) const override
Implementation of ex::series() for sums.
void do_print_python_repr(const print_python_repr &c, unsigned level) const
bool is_polynomial(const ex &var) const override
Check whether this is a polynomial in the given variables.
bool info(unsigned inf) const override
Information about the object.
int ldegree(const ex &s) const override
Return degree of lowest power in object s.
ex eval_ncmul(const exvector &v) const override
ex thisexpairseq(const epvector &v, const ex &oc, bool do_index_renaming=false) const override
Create an object of this type.
numeric max_coefficient() const override
Implementation ex::max_coefficient().
void do_print_latex(const print_latex &c, unsigned level) const
ex conjugate() const override
ex expand(unsigned options=0) const override
Expand expression, i.e.
expair combine_ex_with_coeff_to_pair(const ex &e, const ex &c) const override
ex normal(exmap &repl, exmap &rev_lookup, lst &modifier) const override
Implementation of ex::normal() for a sum.
ex evalm() const override
Evaluate sums, products and integer powers of matrices.
exvector get_free_indices() const override
Return a vector containing the free indices of an expression.
return_type_t return_type_tinfo() const override
expair split_ex_to_pair(const ex &e) const override
Form an expair from an ex, using the corresponding semantics.
ex imag_part() const override
ex recombine_pair_to_ex(const expair &p) const override
Form an ex out of an expair, using the corresponding semantics.
ex smod(const numeric &xi) const override
Apply symmetric modular homomorphism to an expanded multivariate polynomial.
expair combine_pair_with_coeff_to_pair(const expair &p, const ex &c) const override
void do_print_csrc(const print_csrc &c, unsigned level) const
unsigned precedence() const override
Return relative operator precedence (for parenthezing output).
Wrapper template for making GiNaC classes out of STL containers.
Lightweight wrapper for GiNaC's symbolic objects.
A sequence of class expair.
This class is a wrapper around CLN-numbers within the GiNaC class hierarchy.
This class holds a two-component object, a basis and and exponent representing exponentiation.
Base class for print_contexts.
Base context for C source output.
Context for latex-parsable output.
Context for python-parsable output.
This class holds a relation consisting of two expressions and a logical relation between them.
Interface to sequences of expression pairs.
std::map< ex, ex, ex_is_less > exmap
std::vector< expair > epvector
expair-vector
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.