GiNaC  1.6.2
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
GiNaC Namespace Reference

CRC32 hash function. More...

Namespaces

namespace  internal

Classes

class  add
 Sum of expressions. More...
class  archive_node
 This class stores all properties needed to record/retrieve the state of one object of class basic (or a derived class). More...
class  unarchive_table_t
class  archive
 This class holds archived versions of GiNaC expressions (class ex). More...
struct  evalf_map_function
 Function object to be applied by basic::evalf(). More...
struct  evalm_map_function
 Function object to be applied by basic::evalm(). More...
struct  eval_integ_map_function
 Function object to be applied by basic::eval_integ(). More...
struct  derivative_map_function
 Function object to be applied by basic::derivative(). More...
struct  expand_map_function
 Function object to be applied by basic::expand(). More...
struct  map_function
 Function object for map(). More...
class  visitor
 Degenerate base class for visitors. More...
class  basic
 This class is the ABC (abstract base class) of GiNaC's class hierarchy. More...
class  class_info
struct  is_not_a_clifford
 Predicate for finding non-clifford objects. More...
class  clifford
 This class holds an object representing an element of the Clifford algebra (the Dirac gamma matrices). More...
class  diracone
 This class represents the Clifford algebra unity element. More...
class  cliffordunit
 This class represents the Clifford algebra generators (units). More...
class  diracgamma
 This class represents the Dirac gamma Lorentz vector. More...
class  diracgamma5
 This class represents the Dirac gamma5 object which anticommutates with all other gammas. More...
class  diracgammaL
 This class represents the Dirac gammaL object which behaves like 1/2 (1-gamma5). More...
class  diracgammaR
 This class represents the Dirac gammaL object which behaves like 1/2 (1+gamma5). More...
class  color
 This class holds a generator T_a or the unity element of the Lie algebra of SU(3), as used for calculations in quantum chromodynamics. More...
class  su3one
 This class represents the su(3) unity element. More...
class  su3t
 This class represents an su(3) generator. More...
class  su3f
 This class represents the tensor of antisymmetric su(3) structure constants. More...
class  su3d
 This class represents the tensor of symmetric su(3) structure constants. More...
class  constant
 This class holds constants, symbols with specific numerical value. More...
class  container_storage
 Helper template for encapsulating the reserve() mechanics of STL containers. More...
class  container_init
 Helper template to allow initialization of containers via an overloaded comma operator (idea stolen from Blitz++). More...
class  container
 Wrapper template for making GiNaC classes out of STL containers. More...
class  library_init
 Helper class to initialize the library. More...
class  ex
 Lightweight wrapper for GiNaC's symbolic objects. More...
class  const_iterator
class  const_preorder_iterator
class  const_postorder_iterator
struct  ex_is_less
struct  ex_is_equal
struct  op0_is_equal
struct  ex_swap
class  pointer_to_map_function
class  pointer_to_map_function_1arg
class  pointer_to_map_function_2args
class  pointer_to_map_function_3args
class  pointer_to_member_to_map_function
class  pointer_to_member_to_map_function_1arg
class  pointer_to_member_to_map_function_2args
class  pointer_to_member_to_map_function_3args
class  expair
 A pair of expressions. More...
struct  expair_is_less
 Function object for insertion into third argument of STL's sort() etc. More...
struct  expair_rest_is_less
 Function object not caring about the numerical coefficients for insertion into third argument of STL's sort(). More...
struct  expair_swap
class  expairseq
 A sequence of class expair. More...
class  make_flat_inserter
 Class to handle the renaming of dummy indices. More...
class  fail
class  fderivative
 This class represents the (abstract) derivative of a symbolic function. More...
class  expand_options
 Flags to control the behavior of expand(). More...
class  has_options
 Flags to control the behavior of has(). More...
class  subs_options
 Flags to control the behavior of subs(). More...
class  domain
 Domain of an object. More...
class  series_options
 Flags to control series expansion. More...
class  determinant_algo
 Switch to control algorithm for determinant computation. More...
class  solve_algo
 Switch to control algorithm for linear system solving. More...
class  status_flags
 Flags to store information about the state of an object. More...
class  info_flags
 Possible attributes an object can have. More...
class  return_types
class  remember_strategies
 Strategies how to clean up the function remember cache. More...
class  factor_options
 Flags to control the polynomial factorization. More...
class  function_options
class  do_taylor
 Exception class thrown by classes which provide their own series expansion to signal that ordinary Taylor expansion is safe. More...
class  function
 The class function is used to implement builtin functions like sin, cos... More...
class  exhashmap
 Pair Associative Container with 'ex' objects as keys, that is implemented with a hash table and can be used as a replacement for map<> in many cases. More...
class  idx
 This class holds one index of an indexed object. More...
class  varidx
 This class holds an index with a variance (co- or contravariant). More...
class  spinidx
 This class holds a spinor index that can be dotted or undotted and that also has a variance. More...
struct  idx_is_not
struct  idx_is_equal_ignore_dim
struct  is_summation_idx
struct  ex_base_is_less
class  terminfo
 This structure stores the original and symmetrized versions of terms obtained during the simplification of sums. More...
class  terminfo_is_less
class  symminfo
 This structure stores the individual symmetrized terms obtained during the simplification of sums. More...
class  symminfo_is_less_by_symmterm
class  symminfo_is_less_by_orig
class  indexed
 This class holds an indexed expression. More...
class  spmapkey
class  scalar_products
 Helper class for storing information about known scalar products which are to be automatically replaced by simplify_indexed(). More...
class  zeta1_SERIAL
 Complex conjugate. More...
class  zeta2_SERIAL
 Alternating Euler sum or colored MZV. More...
class  G2_SERIAL
 Generalized multiple polylogarithm. More...
class  G3_SERIAL
 Generalized multiple polylogarithm with explicit imaginary parts. More...
class  psi1_SERIAL
 Polylogarithm and multiple polylogarithm. More...
class  psi2_SERIAL
 Derivatives of Psi-function (aka polygamma-functions). More...
struct  error_and_integral
struct  error_and_integral_is_less
class  integral
 Symbolic integral. More...
class  matrix_init
 Helper template to allow initialization of matrices via an overloaded comma operator (idea stolen from Blitz++). More...
class  matrix
 Symbolic matrices. More...
class  mul
 Product of expressions. More...
class  ncmul
 Non-commutative product of expressions. More...
struct  sym_desc
 This structure holds information about the highest and lowest degrees in which a symbol appears in two multivariate polynomials "a" and "b". More...
class  gcdheu_failed
 Exception thrown by heur_gcd() to signal failure. More...
struct  normal_map_function
 Function object to be applied by basic::normal(). More...
struct  gcd_options
 Flags to control the behaviour of gcd() and friends. More...
class  lanczos_coeffs
class  _numeric_digits
 This class is used to instantiate a global singleton object Digits which behaves just like Maple's Digits. More...
class  pole_error
 Exception class thrown when a singularity is encountered. More...
class  numeric
 This class is a wrapper around CLN-numbers within the GiNaC class hierarchy. More...
class  power
 This class holds a two-component object, a basis and and exponent representing exponentiation. More...
class  print_context_options
 This class stores information about a registered print_context class. More...
class  print_options
 Flags to control the behavior of a print_context. More...
class  print_context
 Base class for print_contexts. More...
class  print_dflt
 Context for default (ginsh-parsable) output. More...
class  print_latex
 Context for latex-parsable output. More...
class  print_python
 Context for python pretty-print output. More...
class  print_python_repr
 Context for python-parsable output. More...
class  print_tree
 Context for tree-like output for debugging. More...
class  print_csrc
 Base context for C source output. More...
class  print_csrc_float
 Context for C source output using float precision. More...
class  print_csrc_double
 Context for C source output using double precision. More...
class  print_csrc_cl_N
 Context for C source output using CLN numbers. More...
class  print_functor_impl
 Base class for print_functor handlers. More...
class  print_ptrfun_handler
 print_functor handler for pointer-to-functions of class T, context type C More...
class  print_memfun_handler
 print_functor handler for member functions of class T, context type C More...
class  print_functor
 This class represents a print method for a certain algebraic class and print_context type. More...
class  pseries
 This class holds a extended truncated power series (positive and negative integer powers). More...
class  refcounted
 Base class for reference-counted objects. More...
class  ptr
 Class of (intrusively) reference-counted pointers that support copy-on-write semantics. More...
struct  return_type_t
 To distinguish between different kinds of non-commutative objects. More...
class  registered_class_options
 This class stores information about a registered GiNaC class. More...
class  relational
 This class holds a relation consisting of two expressions and a logical relation between them. More...
class  remember_table_entry
 A single entry in the remember table of a function. More...
class  remember_table_list
 A list of entries in the remember table having some least significant bits of the hashvalue in common. More...
class  remember_table
 The remember table is organized like an n-fold associative cache in a microprocessor. More...
class  compare_all_equal
 Comparison policy: all structures of one type are equal. More...
class  compare_std_less
 Comparison policy: use std::equal_to/std::less (defaults to operators == and <) to compare structures. More...
class  compare_bitwise
 Comparison policy: use bit-wise comparison to compare structures. More...
class  structure
 Wrapper template for making GiNaC classes out of C++ structures. More...
class  symbol
 Basic CAS symbol. More...
class  realsymbol
 Specialization of symbol to real domain. More...
class  possymbol
 Specialization of symbol to real positive domain. More...
class  sy_is_less
class  sy_swap
class  symmetry
 This class describes the symmetry of a group of indices. More...
class  tensor
 This class holds one of GiNaC's predefined special tensors such as the delta and the metric tensors. More...
class  tensdelta
 This class represents the delta tensor. More...
class  tensmetric
 This class represents a general metric tensor which can be used to raise/lower indices. More...
class  minkmetric
 This class represents a Minkowski metric tensor. More...
class  spinmetric
 This class represents an antisymmetric spinor metric tensor which can be used to raise/lower indices of 2-component Weyl spinors. More...
class  tensepsilon
 This class represents the totally antisymmetric epsilon tensor. More...
class  dunno
 Exception class thrown by functions to signal unimplemented functionality so the expression may just be .hold() More...
class  wildcard
 This class acts as a wildcard for subs(), match(), has() and find(). More...

Typedefs

typedef unsigned archive_node_id
 Numerical ID value to refer to an archive_node.
typedef unsigned archive_atom
 Numerical ID value to refer to a string.
typedef basic *(* synthesize_func )()
typedef std::map< std::string,
synthesize_func
unarchive_map_t
typedef std::vector< exexvector
typedef std::set< ex, ex_is_lessexset
typedef std::map< ex, ex,
ex_is_less
exmap
typedef ex(* evalffunctype )()
typedef double(* FUNCP_1P )(double)
 Function pointer with one function parameter.
typedef double(* FUNCP_2P )(double, double)
 Function pointer with two function parameters.
typedef void(* FUNCP_CUBA )(const int *, const double[], const int *, double[])
 Function pointer for use with the CUBA library (http://www.feynarts.de/cuba).
typedef std::vector< expairepvector
 expair-vector
typedef epvector::iterator epp
 expair-vector pointer
typedef std::list< eppepplist
 list of expair-vector pointers
typedef std::vector< epplistepplistvector
 vector of epplist
typedef container< std::vector > exprseq
typedef std::multiset< unsigned > paramset
typedef ex(* eval_funcp )()
typedef ex(* evalf_funcp )()
typedef ex(* conjugate_funcp )()
typedef ex(* real_part_funcp )()
typedef ex(* imag_part_funcp )()
typedef ex(* derivative_funcp )()
typedef ex(* power_funcp )()
typedef ex(* series_funcp )()
typedef void(* print_funcp )()
typedef ex(* eval_funcp_1 )(const ex &)
typedef ex(* eval_funcp_2 )(const ex &, const ex &)
typedef ex(* eval_funcp_3 )(const ex &, const ex &, const ex &)
typedef ex(* eval_funcp_4 )(const ex &, const ex &, const ex &, const ex &)
typedef ex(* eval_funcp_5 )(const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* eval_funcp_6 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* eval_funcp_7 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* eval_funcp_8 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* eval_funcp_9 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* eval_funcp_10 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* eval_funcp_11 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* eval_funcp_12 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* eval_funcp_13 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* eval_funcp_14 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_1 )(const ex &)
typedef ex(* evalf_funcp_2 )(const ex &, const ex &)
typedef ex(* evalf_funcp_3 )(const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_4 )(const ex &, const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_5 )(const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_6 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_7 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_8 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_9 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_10 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_11 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_12 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_13 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* evalf_funcp_14 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_1 )(const ex &)
typedef ex(* conjugate_funcp_2 )(const ex &, const ex &)
typedef ex(* conjugate_funcp_3 )(const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_4 )(const ex &, const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_5 )(const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_6 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_7 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_8 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_9 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_10 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_11 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_12 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_13 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* conjugate_funcp_14 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_1 )(const ex &)
typedef ex(* real_part_funcp_2 )(const ex &, const ex &)
typedef ex(* real_part_funcp_3 )(const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_4 )(const ex &, const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_5 )(const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_6 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_7 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_8 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_9 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_10 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_11 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_12 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_13 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* real_part_funcp_14 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_1 )(const ex &)
typedef ex(* imag_part_funcp_2 )(const ex &, const ex &)
typedef ex(* imag_part_funcp_3 )(const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_4 )(const ex &, const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_5 )(const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_6 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_7 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_8 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_9 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_10 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_11 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_12 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_13 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* imag_part_funcp_14 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* derivative_funcp_1 )(const ex &, unsigned)
typedef ex(* derivative_funcp_2 )(const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_3 )(const ex &, const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_4 )(const ex &, const ex &, const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_5 )(const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_6 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_7 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_8 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_9 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_10 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_11 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_12 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_13 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
typedef ex(* derivative_funcp_14 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)
typedef ex(* power_funcp_1 )(const ex &, const ex &)
typedef ex(* power_funcp_2 )(const ex &, const ex &, const ex &)
typedef ex(* power_funcp_3 )(const ex &, const ex &, const ex &, const ex &)
typedef ex(* power_funcp_4 )(const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* power_funcp_5 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* power_funcp_6 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* power_funcp_7 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* power_funcp_8 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* power_funcp_9 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* power_funcp_10 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* power_funcp_11 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* power_funcp_12 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* power_funcp_13 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* power_funcp_14 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)
typedef ex(* series_funcp_1 )(const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_2 )(const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_3 )(const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_4 )(const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_5 )(const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_6 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_7 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_8 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_9 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_10 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_11 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_12 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_13 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef ex(* series_funcp_14 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)
typedef void(* print_funcp_1 )(const ex &, const print_context &)
typedef void(* print_funcp_2 )(const ex &, const ex &, const print_context &)
typedef void(* print_funcp_3 )(const ex &, const ex &, const ex &, const print_context &)
typedef void(* print_funcp_4 )(const ex &, const ex &, const ex &, const ex &, const print_context &)
typedef void(* print_funcp_5 )(const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
typedef void(* print_funcp_6 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
typedef void(* print_funcp_7 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
typedef void(* print_funcp_8 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
typedef void(* print_funcp_9 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
typedef void(* print_funcp_10 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
typedef void(* print_funcp_11 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
typedef void(* print_funcp_12 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
typedef void(* print_funcp_13 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
typedef void(* print_funcp_14 )(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)
typedef ex(* eval_funcp_exvector )(const exvector &)
typedef ex(* evalf_funcp_exvector )(const exvector &)
typedef ex(* conjugate_funcp_exvector )(const exvector &)
typedef ex(* real_part_funcp_exvector )(const exvector &)
typedef ex(* imag_part_funcp_exvector )(const exvector &)
typedef ex(* derivative_funcp_exvector )(const exvector &, unsigned)
typedef ex(* power_funcp_exvector )(const exvector &, const ex &)
typedef ex(* series_funcp_exvector )(const exvector &, const relational &, int, unsigned)
typedef void(* print_funcp_exvector )(const exvector &, const print_context &)
typedef std::map< spmapkey, exspmap
typedef map
< error_and_integral, ex,
error_and_integral_is_less
lookup_map
typedef container< std::list > lst
typedef std::vector< std::size_t > uintvector
typedef std::vector< unsigned > unsignedvector
typedef std::vector< exvectorexvectorvector
typedef std::vector< sym_descsym_desc_vec
typedef void(* digits_changed_callback )(long)
 Function pointer to implement callbacks in the case 'Digits' gets changed.
typedef class_info
< print_context_options
print_context_class_info
typedef class_info
< registered_class_options
registered_class_info
typedef unsigned long p_int

Enumerations

enum  { callback_registered = 1 }

Functions

 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (add, expairseq, print_func< print_context >(&add::do_print).print_func< print_latex >(&add::do_print_latex).print_func< print_csrc >(&add::do_print_csrc).print_func< print_tree >(&add::do_print_tree).print_func< print_python_repr >(&add::do_print_python_repr)) add
 GINAC_BIND_UNARCHIVER (add)
 GINAC_DECLARE_UNARCHIVER (add)
static void write_unsigned (std::ostream &os, unsigned val)
 Write unsigned integer quantity to stream.
static unsigned read_unsigned (std::istream &is)
 Read unsigned integer quantity from stream.
std::ostream & operator<< (std::ostream &os, const archive_node &n)
 Write archive_node to binary data stream.
std::ostream & operator<< (std::ostream &os, const archive &ar)
 Write archive to binary data stream.
std::istream & operator>> (std::istream &is, archive_node &n)
 Read archive_node from binary data stream.
std::istream & operator>> (std::istream &is, archive &ar)
 Read archive from binary data stream.
static synthesize_func find_factory_fcn (const std::string &name)
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (basic, void, print_func< print_context >(&basic::do_print).print_func< print_tree >(&basic::do_print_tree).print_func< print_python_repr >(&basic::do_print_python_repr)) basic
 basic copy constructor: implicitly assumes that the other class is of the exact same type (as it's used by duplicate()), so it can copy the tinfo_key and the hash value.
template<class T >
bool is_a (const basic &obj)
 Check if obj is a T, including base classes.
template<class T >
bool is_exactly_a (const basic &obj)
 Check if obj is a T, not including base classes.
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (clifford, indexed, print_func< print_dflt >(&clifford::do_print_dflt).print_func< print_latex >(&clifford::do_print_latex)) GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(diracone
 print_func< print_dflt > (&diracone::do_print).print_func< print_latex >(&diracone
 GINAC_BIND_UNARCHIVER (clifford)
 GINAC_BIND_UNARCHIVER (diracone)
 GINAC_BIND_UNARCHIVER (diracgamma)
 GINAC_BIND_UNARCHIVER (diracgamma5)
 GINAC_BIND_UNARCHIVER (diracgammaL)
 GINAC_BIND_UNARCHIVER (diracgammaR)
static bool is_dirac_slash (const ex &seq0)
static void base_and_index (const ex &c, ex &b, ex &i)
 This function decomposes gamma~mu -> (1, mu) and a\ -> (a.ix, ix)
ex dirac_ONE (unsigned char rl=0)
 Create a Clifford unity object.
static unsigned get_dim_uint (const ex &e)
ex clifford_unit (const ex &mu, const ex &metr, unsigned char rl=0)
 Create a Clifford unit object.
ex dirac_gamma (const ex &mu, unsigned char rl=0)
 Create a Dirac gamma object.
ex dirac_gamma5 (unsigned char rl=0)
 Create a Dirac gamma5 object.
ex dirac_gammaL (unsigned char rl=0)
 Create a Dirac gammaL object.
ex dirac_gammaR (unsigned char rl=0)
 Create a Dirac gammaR object.
ex dirac_slash (const ex &e, const ex &dim, unsigned char rl=0)
 Create a term of the form e_mu * gamma~mu with a unique index mu.
static unsigned char get_representation_label (const return_type_t &ti)
 Extract representation label from tinfo key (as returned by return_type_tinfo()).
static ex trace_string (exvector::const_iterator ix, size_t num)
 Take trace of a string of an even number of Dirac gammas given a vector of indices.
ex dirac_trace (const ex &e, const std::set< unsigned char > &rls, const ex &trONE=4)
 Calculate dirac traces over the specified set of representation labels.
ex dirac_trace (const ex &e, const lst &rll, const ex &trONE=4)
 Calculate dirac traces over the specified list of representation labels.
ex dirac_trace (const ex &e, unsigned char rl=0, const ex &trONE=4)
 Calculate the trace of an expression containing gamma objects with a specified representation label.
ex canonicalize_clifford (const ex &e)
 Bring all products of clifford objects in an expression into a canonical order.
ex clifford_prime (const ex &e)
 Automorphism of the Clifford algebra, simply changes signs of all clifford units.
ex remove_dirac_ONE (const ex &e, unsigned char rl=0, unsigned options=0)
 Replaces dirac_ONE's (with a representation_label no less than rl) in e with 1.
int clifford_max_label (const ex &e, bool ignore_ONE=false)
 Returns the maximal representation label of a clifford object if e contains at least one, otherwise returns -1.
ex clifford_norm (const ex &e)
 Calculation of the norm in the Clifford algebra.
ex clifford_inverse (const ex &e)
 Calculation of the inverse in the Clifford algebra.
ex lst_to_clifford (const ex &v, const ex &mu, const ex &metr, unsigned char rl=0)
 List or vector conversion into the Clifford vector.
ex lst_to_clifford (const ex &v, const ex &e)
static ex get_clifford_comp (const ex &e, const ex &c)
 Auxiliary structure to define a function for striping one Clifford unit from vectors.
lst clifford_to_lst (const ex &e, const ex &c, bool algebraic=true)
 An inverse function to lst_to_clifford().
ex clifford_moebius_map (const ex &a, const ex &b, const ex &c, const ex &d, const ex &v, const ex &G, unsigned char rl=0)
 Calculations of Moebius transformations (conformal map) defined by a 2x2 Clifford matrix (a b\c d) in linear spaces with arbitrary signature.
ex clifford_moebius_map (const ex &M, const ex &v, const ex &G, unsigned char rl=0)
 The second form of Moebius transformations defined by a 2x2 Clifford matrix M This function takes the transformation matrix M as a single entity.
 GINAC_DECLARE_UNARCHIVER (clifford)
 GINAC_DECLARE_UNARCHIVER (diracone)
 GINAC_DECLARE_UNARCHIVER (diracgamma)
 GINAC_DECLARE_UNARCHIVER (diracgamma5)
 GINAC_DECLARE_UNARCHIVER (diracgammaL)
 GINAC_DECLARE_UNARCHIVER (diracgammaR)
bool is_clifford_tinfo (const return_type_t &ti)
 Check whether a given return_type_t object (as returned by return_type_tinfo() is that of a clifford object (with an arbitrary representation label).
ex clifford_bar (const ex &e)
 Main anti-automorphism of the Clifford algebra: makes reversion and changes signs of all clifford units.
ex clifford_star (const ex &e)
 Reversion of the Clifford algebra, coincides with the conjugate().
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (su3one, tensor, print_func< print_dflt >(&su3one::do_print).print_func< print_latex >(&su3one::do_print_latex)) GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(su3t
 print_func< print_dflt > (&su3t::do_print).print_func< print_latex >(&su3t
 GINAC_BIND_UNARCHIVER (color)
 GINAC_BIND_UNARCHIVER (su3one)
 GINAC_BIND_UNARCHIVER (su3t)
 GINAC_BIND_UNARCHIVER (su3f)
 GINAC_BIND_UNARCHIVER (su3d)
static ex permute_free_index_to_front (const exvector &iv3, const exvector &iv2, int &sig)
 Given a vector iv3 of three indices and a vector iv2 of two indices that is a subset of iv3, return the (free) index that is in iv3 but not in iv2 and the sign introduced by permuting that index to the front.
ex color_ONE (unsigned char rl=0)
 Create the su(3) unity element.
ex color_T (const ex &a, unsigned char rl=0)
 Create an su(3) generator.
ex color_f (const ex &a, const ex &b, const ex &c)
 Create an su(3) antisymmetric structure constant.
ex color_d (const ex &a, const ex &b, const ex &c)
 Create an su(3) symmetric structure constant.
ex color_h (const ex &a, const ex &b, const ex &c)
 This returns the linear combination d.a.b.c+I*f.a.b.c.
static bool is_color_tinfo (const return_type_t &ti)
 Check whether a given tinfo key (as returned by return_type_tinfo() is that of a color object (with an arbitrary representation label).
ex color_trace (const ex &e, const std::set< unsigned char > &rls)
 Calculate color traces over the specified set of representation labels.
ex color_trace (const ex &e, const lst &rll)
 Calculate color traces over the specified list of representation labels.
ex color_trace (const ex &e, unsigned char rl=0)
 Calculate the trace of an expression containing color objects with a specified representation label.
 GINAC_DECLARE_UNARCHIVER (color)
 GINAC_DECLARE_UNARCHIVER (su3one)
 GINAC_DECLARE_UNARCHIVER (su3t)
 GINAC_DECLARE_UNARCHIVER (su3f)
 GINAC_DECLARE_UNARCHIVER (su3d)
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (constant, basic, print_func< print_context >(&constant::do_print).print_func< print_latex >(&constant::do_print_latex).print_func< print_tree >(&constant::do_print_tree).print_func< print_python_repr >(&constant::do_print_python_repr)) const ant
 GINAC_BIND_UNARCHIVER (constant)
 GINAC_DECLARE_UNARCHIVER (constant)
static unsigned crc32 (const char *c, const unsigned len, const unsigned crcinit)
bool are_ex_trivially_equal (const ex &e1, const ex &e2)
 Compare two objects of class quickly without doing a deep tree traversal.
std::ostream & operator<< (std::ostream &os, const exvector &e)
std::ostream & operator<< (std::ostream &os, const exset &e)
std::ostream & operator<< (std::ostream &os, const exmap &e)
size_t nops (const ex &thisex)
ex expand (const ex &thisex, unsigned options=0)
ex conjugate (const ex &thisex)
ex real_part (const ex &thisex)
ex imag_part (const ex &thisex)
bool has (const ex &thisex, const ex &pattern, unsigned options=0)
bool find (const ex &thisex, const ex &pattern, exset &found)
bool is_polynomial (const ex &thisex, const ex &vars)
int degree (const ex &thisex, const ex &s)
int ldegree (const ex &thisex, const ex &s)
ex coeff (const ex &thisex, const ex &s, int n=1)
ex numer (const ex &thisex)
ex denom (const ex &thisex)
ex numer_denom (const ex &thisex)
ex normal (const ex &thisex, int level=0)
ex to_rational (const ex &thisex, lst &repl_lst)
ex to_rational (const ex &thisex, exmap &repl)
ex to_polynomial (const ex &thisex, exmap &repl)
ex to_polynomial (const ex &thisex, lst &repl_lst)
ex collect (const ex &thisex, const ex &s, bool distributed=false)
ex eval (const ex &thisex, int level=0)
ex evalf (const ex &thisex, int level=0)
ex evalm (const ex &thisex)
ex eval_integ (const ex &thisex)
ex diff (const ex &thisex, const symbol &s, unsigned nth=1)
ex series (const ex &thisex, const ex &r, int order, unsigned options=0)
bool match (const ex &thisex, const ex &pattern, exmap &repl_lst)
ex simplify_indexed (const ex &thisex, unsigned options=0)
ex simplify_indexed (const ex &thisex, const scalar_products &sp, unsigned options=0)
ex symmetrize (const ex &thisex)
ex symmetrize (const ex &thisex, const lst &l)
ex antisymmetrize (const ex &thisex)
ex antisymmetrize (const ex &thisex, const lst &l)
ex symmetrize_cyclic (const ex &thisex)
ex symmetrize_cyclic (const ex &thisex, const lst &l)
ex op (const ex &thisex, size_t i)
ex lhs (const ex &thisex)
ex rhs (const ex &thisex)
bool is_zero (const ex &thisex)
void swap (ex &e1, ex &e2)
ex subs (const ex &thisex, const exmap &m, unsigned options=0)
ex subs (const ex &thisex, const lst &ls, const lst &lr, unsigned options=0)
ex subs (const ex &thisex, const ex &e, unsigned options=0)
template<class T >
bool is_a (const ex &obj)
 Check if ex is a handle to a T, including base classes.
template<class T >
bool is_exactly_a (const ex &obj)
 Check if ex is a handle to a T, not including base classes.
template<class T >
const T & ex_to (const ex &e)
 Return a reference to the basic-derived class T object embedded in an expression.
void compile_ex (const ex &expr, const symbol &sym, FUNCP_1P &fp, const std::string filename="")
 Takes an expression and produces a function pointer to the compiled and linked C code equivalent in double precision.
void compile_ex (const ex &expr, const symbol &sym1, const symbol &sym2, FUNCP_2P &fp, const std::string filename="")
 Takes an expression and produces a function pointer to the compiled and linked C code equivalent in double precision.
void compile_ex (const lst &exprs, const lst &syms, FUNCP_CUBA &fp, const std::string filename="")
 Takes an expression and produces a function pointer to the compiled and linked C code equivalent in double precision.
void link_ex (const std::string filename, FUNCP_1P &fp)
 Opens an existing so-file and returns a function pointer of type FUNCP_1P to the contained function.
void link_ex (const std::string filename, FUNCP_2P &fp)
 Opens an existing so-file and returns a function pointer of type FUNCP_2P to the contained function.
void link_ex (const std::string filename, FUNCP_CUBA &fp)
 Opens an existing so-file and returns a function pointer of type FUNCP_CUBA to the contained function.
void unlink_ex (const std::string filename)
 Closes all linked .so files that have the supplied filename.
void swap (expair &e1, expair &e2)
void iter_swap (std::vector< expair >::iterator i1, std::vector< expair >::iterator i2)
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (expairseq, basic, print_func< print_context >(&expairseq::do_print).print_func< print_tree >(&expairseq::do_print_tree)) class epp_is_less
epvectorconjugateepvector (const epvector &)
 Complex conjugate every element of an epvector.
template<>
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT_T (exprseq, basic, print_func< print_context >(&exprseq::do_print).print_func< print_tree >(&exprseq::do_print_tree)) template<> bool exprseq
 Specialization of container::info() for exprseq.
ex factor (const ex &poly, unsigned options)
 Interface function to the outside world.
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (fail, basic, print_func< print_context >(&fail::do_print).print_func< print_tree >(&fail::do_print_tree)) GINAC_BIND_UNARCHIVER(fail)
 GINAC_DECLARE_UNARCHIVER (fail)
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (fderivative, function, print_func< print_context >(&fderivative::do_print).print_func< print_csrc >(&fderivative::do_print_csrc).print_func< print_tree >(&fderivative::do_print_tree)) fderivative
 GINAC_BIND_UNARCHIVER (fderivative)
 GINAC_DECLARE_UNARCHIVER (fderivative)
 GINAC_BIND_UNARCHIVER (function)
 GINAC_DECLARE_UNARCHIVER (function)
template<typename T >
bool is_the_function (const ex &x)
static unsigned make_hash_seed (const std::type_info &tinfo)
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (idx, basic, print_func< print_context >(&idx::do_print).print_func< print_latex >(&idx::do_print_latex).print_func< print_csrc >(&idx::do_print_csrc).print_func< print_tree >(&idx::do_print_tree)) GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(varidx
 print_func< print_context > (&varidx::do_print).print_func< print_latex >(&varidx
 GINAC_BIND_UNARCHIVER (idx)
 GINAC_BIND_UNARCHIVER (varidx)
 GINAC_BIND_UNARCHIVER (spinidx)
bool is_dummy_pair (const idx &i1, const idx &i2)
 Check whether two indices form a dummy pair.
bool is_dummy_pair (const ex &e1, const ex &e2)
 Check whether two expressions form a dummy index pair.
void find_free_and_dummy (exvector::const_iterator it, exvector::const_iterator itend, exvector &out_free, exvector &out_dummy)
 Given a vector of indices, split them into two vectors, one containing the free indices, the other containing the dummy indices (numeric indices are neither free nor dummy ones).
ex minimal_dim (const ex &dim1, const ex &dim2)
 Return the minimum of two index dimensions.
 GINAC_DECLARE_UNARCHIVER (idx)
 GINAC_DECLARE_UNARCHIVER (varidx)
 GINAC_DECLARE_UNARCHIVER (spinidx)
void find_free_and_dummy (const exvector &v, exvector &out_free, exvector &out_dummy)
 Given a vector of indices, split them into two vectors, one containing the free indices, the other containing the dummy indices (numeric indices are neither free nor dummy ones).
void find_dummy_indices (const exvector &v, exvector &out_dummy)
 Given a vector of indices, find the dummy indices.
size_t count_dummy_indices (const exvector &v)
 Count the number of dummy index pairs in an index vector.
size_t count_free_indices (const exvector &v)
 Count the number of dummy index pairs in an index vector.
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (indexed, exprseq, print_func< print_context >(&indexed::do_print).print_func< print_latex >(&indexed::do_print_latex).print_func< print_tree >(&indexed::do_print_tree)) indexed
 GINAC_BIND_UNARCHIVER (indexed)
static bool indices_consistent (const exvector &v1, const exvector &v2)
 Check whether two sorted index vectors are consistent (i.e.
template<class T >
size_t number_of_type (const exvector &v)
template<class T >
static ex rename_dummy_indices (const ex &e, exvector &global_dummy_indices, exvector &local_dummy_indices)
 Rename dummy indices in an expression.
static void find_variant_indices (const exvector &v, exvector &variant_indices)
 Given a set of indices, extract those of class varidx.
bool reposition_dummy_indices (ex &e, exvector &variant_dummy_indices, exvector &moved_indices)
 Raise/lower dummy indices in a single indexed objects to canonicalize their variance.
static void product_to_exvector (const ex &e, exvector &v, bool &non_commutative)
template<class T >
ex idx_symmetrization (const ex &r, const exvector &local_dummy_indices)
ex simplify_indexed (const ex &e, exvector &free_indices, exvector &dummy_indices, const scalar_products &sp)
 Simplify indexed expression, return list of free indices.
ex simplify_indexed_product (const ex &e, exvector &free_indices, exvector &dummy_indices, const scalar_products &sp)
 Simplify product of indexed expressions (commutative, noncommutative and simple squares), return list of free indices.
bool hasindex (const ex &x, const ex &sym)
exvector get_all_dummy_indices_safely (const ex &e)
 More reliable version of the form.
exvector get_all_dummy_indices (const ex &e)
 Returns all dummy indices from the exvector.
lst rename_dummy_indices_uniquely (const exvector &va, const exvector &vb)
 Similar to above, where va and vb are the same and the return value is a list of two lists for substitution in b.
ex rename_dummy_indices_uniquely (const exvector &va, const exvector &vb, const ex &b)
 Same as above, where va and vb contain the indices of a and b and are sorted.
ex rename_dummy_indices_uniquely (const ex &a, const ex &b)
 Returns b with all dummy indices, which are common with a, renamed.
ex rename_dummy_indices_uniquely (exvector &va, const ex &b, bool modify_va=false)
 Returns b with all dummy indices, which are listed in va, renamed if modify_va is set to TRUE all dummy indices of b will be appended to va.
ex expand_dummy_sum (const ex &e, bool subs_idx=false)
 This function returns the given expression with expanded sums for all dummy index summations, where the dimensionality of the dummy index is a nonnegative integer.
 GINAC_DECLARE_UNARCHIVER (indexed)
static ex conjugate_evalf (const ex &arg)
static ex conjugate_eval (const ex &arg)
static void conjugate_print_latex (const ex &arg, const print_context &c)
static ex conjugate_conjugate (const ex &arg)
static ex conjugate_real_part (const ex &arg)
static ex conjugate_imag_part (const ex &arg)
 REGISTER_FUNCTION (conjugate_function, eval_func(conjugate_eval).evalf_func(conjugate_evalf).print_func< print_latex >(conjugate_print_latex).conjugate_func(conjugate_conjugate).real_part_func(conjugate_real_part).imag_part_func(conjugate_imag_part).set_name("conjugate","conjugate"))
static ex real_part_evalf (const ex &arg)
static ex real_part_eval (const ex &arg)
static void real_part_print_latex (const ex &arg, const print_context &c)
static ex real_part_conjugate (const ex &arg)
static ex real_part_real_part (const ex &arg)
static ex real_part_imag_part (const ex &arg)
 REGISTER_FUNCTION (real_part_function, eval_func(real_part_eval).evalf_func(real_part_evalf).print_func< print_latex >(real_part_print_latex).conjugate_func(real_part_conjugate).real_part_func(real_part_real_part).imag_part_func(real_part_imag_part).set_name("real_part","real_part"))
static ex imag_part_evalf (const ex &arg)
static ex imag_part_eval (const ex &arg)
static void imag_part_print_latex (const ex &arg, const print_context &c)
static ex imag_part_conjugate (const ex &arg)
static ex imag_part_real_part (const ex &arg)
static ex imag_part_imag_part (const ex &arg)
 REGISTER_FUNCTION (imag_part_function, eval_func(imag_part_eval).evalf_func(imag_part_evalf).print_func< print_latex >(imag_part_print_latex).conjugate_func(imag_part_conjugate).real_part_func(imag_part_real_part).imag_part_func(imag_part_imag_part).set_name("imag_part","imag_part"))
static ex abs_evalf (const ex &arg)
static ex abs_eval (const ex &arg)
static void abs_print_latex (const ex &arg, const print_context &c)
static void abs_print_csrc_float (const ex &arg, const print_context &c)
static ex abs_conjugate (const ex &arg)
static ex abs_real_part (const ex &arg)
static ex abs_imag_part (const ex &arg)
static ex abs_power (const ex &arg, const ex &exp)
 REGISTER_FUNCTION (abs, eval_func(abs_eval).evalf_func(abs_evalf).print_func< print_latex >(abs_print_latex).print_func< print_csrc_float >(abs_print_csrc_float).print_func< print_csrc_double >(abs_print_csrc_float).conjugate_func(abs_conjugate).real_part_func(abs_real_part).imag_part_func(abs_imag_part).power_func(abs_power))
static ex step_evalf (const ex &arg)
static ex step_eval (const ex &arg)
static ex step_series (const ex &arg, const relational &rel, int order, unsigned options)
static ex step_conjugate (const ex &arg)
static ex step_real_part (const ex &arg)
static ex step_imag_part (const ex &arg)
 REGISTER_FUNCTION (step, eval_func(step_eval).evalf_func(step_evalf).series_func(step_series).conjugate_func(step_conjugate).real_part_func(step_real_part).imag_part_func(step_imag_part))
static ex csgn_evalf (const ex &arg)
static ex csgn_eval (const ex &arg)
static ex csgn_series (const ex &arg, const relational &rel, int order, unsigned options)
static ex csgn_conjugate (const ex &arg)
static ex csgn_real_part (const ex &arg)
static ex csgn_imag_part (const ex &arg)
static ex csgn_power (const ex &arg, const ex &exp)
 REGISTER_FUNCTION (csgn, eval_func(csgn_eval).evalf_func(csgn_evalf).series_func(csgn_series).conjugate_func(csgn_conjugate).real_part_func(csgn_real_part).imag_part_func(csgn_imag_part).power_func(csgn_power))
static ex eta_evalf (const ex &x, const ex &y)
static ex eta_eval (const ex &x, const ex &y)
static ex eta_series (const ex &x, const ex &y, const relational &rel, int order, unsigned options)
static ex eta_conjugate (const ex &x, const ex &y)
static ex eta_real_part (const ex &x, const ex &y)
static ex eta_imag_part (const ex &x, const ex &y)
 REGISTER_FUNCTION (eta, eval_func(eta_eval).evalf_func(eta_evalf).series_func(eta_series).latex_name("\\eta").set_symmetry(sy_symm(0, 1)).conjugate_func(eta_conjugate).real_part_func(eta_real_part).imag_part_func(eta_imag_part))
static ex Li2_evalf (const ex &x)
static ex Li2_eval (const ex &x)
static ex Li2_deriv (const ex &x, unsigned deriv_param)
static ex Li2_series (const ex &x, const relational &rel, int order, unsigned options)
static ex Li2_conjugate (const ex &x)
 REGISTER_FUNCTION (Li2, eval_func(Li2_eval).evalf_func(Li2_evalf).derivative_func(Li2_deriv).series_func(Li2_series).conjugate_func(Li2_conjugate).latex_name("\\mathrm{Li}_2"))
static ex Li3_eval (const ex &x)
 REGISTER_FUNCTION (Li3, eval_func(Li3_eval).latex_name("\\mathrm{Li}_3"))
static ex zetaderiv_eval (const ex &n, const ex &x)
static ex zetaderiv_deriv (const ex &n, const ex &x, unsigned deriv_param)
 REGISTER_FUNCTION (zetaderiv, eval_func(zetaderiv_eval).derivative_func(zetaderiv_deriv).latex_name("\\zeta^\\prime"))
static ex factorial_evalf (const ex &x)
static ex factorial_eval (const ex &x)
static void factorial_print_dflt_latex (const ex &x, const print_context &c)
static ex factorial_conjugate (const ex &x)
static ex factorial_real_part (const ex &x)
static ex factorial_imag_part (const ex &x)
 REGISTER_FUNCTION (factorial, eval_func(factorial_eval).evalf_func(factorial_evalf).print_func< print_dflt >(factorial_print_dflt_latex).print_func< print_latex >(factorial_print_dflt_latex).conjugate_func(factorial_conjugate).real_part_func(factorial_real_part).imag_part_func(factorial_imag_part))
static ex binomial_evalf (const ex &x, const ex &y)
static ex binomial_sym (const ex &x, const numeric &y)
static ex binomial_eval (const ex &x, const ex &y)
static ex binomial_conjugate (const ex &x, const ex &y)
static ex binomial_real_part (const ex &x, const ex &y)
static ex binomial_imag_part (const ex &x, const ex &y)
 REGISTER_FUNCTION (binomial, eval_func(binomial_eval).evalf_func(binomial_evalf).conjugate_func(binomial_conjugate).real_part_func(binomial_real_part).imag_part_func(binomial_imag_part))
static ex Order_eval (const ex &x)
static ex Order_series (const ex &x, const relational &r, int order, unsigned options)
static ex Order_conjugate (const ex &x)
static ex Order_real_part (const ex &x)
static ex Order_imag_part (const ex &x)
 REGISTER_FUNCTION (Order, eval_func(Order_eval).series_func(Order_series).latex_name("\\mathcal{O}").conjugate_func(Order_conjugate).real_part_func(Order_real_part).imag_part_func(Order_imag_part))
ex lsolve (const ex &eqns, const ex &symbols, unsigned options=solve_algo::automatic)
 Factorial function.
const numeric fsolve (const ex &f, const symbol &x, const numeric &x1, const numeric &x2)
 Find a real root of real-valued function f(x) numerically within a given interval.
template<typename T1 >
function zeta (const T1 &p1)
template<typename T1 , typename T2 >
function zeta (const T1 &p1, const T2 &p2)
template<>
bool is_the_function< zeta_SERIAL > (const ex &x)
template<typename T1 , typename T2 >
function G (const T1 &x, const T2 &y)
template<typename T1 , typename T2 , typename T3 >
function G (const T1 &x, const T2 &s, const T3 &y)
template<>
bool is_the_function< G_SERIAL > (const ex &x)
template<typename T1 >
function psi (const T1 &p1)
template<typename T1 , typename T2 >
function psi (const T1 &p1, const T2 &p2)
template<>
bool is_the_function< psi_SERIAL > (const ex &x)
bool is_order_function (const ex &e)
 Check whether a function is the Order (O(n)) function.
ex convert_H_to_Li (const ex &parameterlst, const ex &arg)
 Converts a given list containing parameters for H in Remiddi/Vermaseren notation into the corresponding GiNaC functions.
static ex lgamma_evalf (const ex &x)
static ex lgamma_eval (const ex &x)
 Evaluation of lgamma(x), the natural logarithm of the Gamma function.
static ex lgamma_deriv (const ex &x, unsigned deriv_param)
static ex lgamma_series (const ex &arg, const relational &rel, int order, unsigned options)
static ex lgamma_conjugate (const ex &x)
 REGISTER_FUNCTION (lgamma, eval_func(lgamma_eval).evalf_func(lgamma_evalf).derivative_func(lgamma_deriv).series_func(lgamma_series).conjugate_func(lgamma_conjugate).latex_name("\\log \\Gamma"))
static ex tgamma_evalf (const ex &x)
static ex tgamma_eval (const ex &x)
 Evaluation of tgamma(x), the true Gamma function.
static ex tgamma_deriv (const ex &x, unsigned deriv_param)
static ex tgamma_series (const ex &arg, const relational &rel, int order, unsigned options)
static ex tgamma_conjugate (const ex &x)
 REGISTER_FUNCTION (tgamma, eval_func(tgamma_eval).evalf_func(tgamma_evalf).derivative_func(tgamma_deriv).series_func(tgamma_series).conjugate_func(tgamma_conjugate).latex_name("\\Gamma"))
static ex beta_evalf (const ex &x, const ex &y)
static ex beta_eval (const ex &x, const ex &y)
static ex beta_deriv (const ex &x, const ex &y, unsigned deriv_param)
static ex beta_series (const ex &arg1, const ex &arg2, const relational &rel, int order, unsigned options)
 REGISTER_FUNCTION (beta, eval_func(beta_eval).evalf_func(beta_evalf).derivative_func(beta_deriv).series_func(beta_series).latex_name("\\mathrm{B}").set_symmetry(sy_symm(0, 1)))
static ex psi1_evalf (const ex &x)
static ex psi1_eval (const ex &x)
 Evaluation of digamma-function psi(x).
static ex psi1_deriv (const ex &x, unsigned deriv_param)
static ex psi1_series (const ex &arg, const relational &rel, int order, unsigned options)
static ex psi2_evalf (const ex &n, const ex &x)
static ex psi2_eval (const ex &n, const ex &x)
 Evaluation of polygamma-function psi(n,x).
static ex psi2_deriv (const ex &n, const ex &x, unsigned deriv_param)
static ex psi2_series (const ex &n, const ex &arg, const relational &rel, int order, unsigned options)
static ex G2_evalf (const ex &x_, const ex &y)
static ex G2_eval (const ex &x_, const ex &y)
static ex G3_evalf (const ex &x_, const ex &s_, const ex &y)
static ex G3_eval (const ex &x_, const ex &s_, const ex &y)
static ex Li_evalf (const ex &m_, const ex &x_)
static ex Li_eval (const ex &m_, const ex &x_)
static ex Li_series (const ex &m, const ex &x, const relational &rel, int order, unsigned options)
static ex Li_deriv (const ex &m_, const ex &x_, unsigned deriv_param)
static void Li_print_latex (const ex &m_, const ex &x_, const print_context &c)
 REGISTER_FUNCTION (Li, evalf_func(Li_evalf).eval_func(Li_eval).series_func(Li_series).derivative_func(Li_deriv).print_func< print_latex >(Li_print_latex).do_not_evalf_params())
static ex S_evalf (const ex &n, const ex &p, const ex &x)
static ex S_eval (const ex &n, const ex &p, const ex &x)
static ex S_series (const ex &n, const ex &p, const ex &x, const relational &rel, int order, unsigned options)
static ex S_deriv (const ex &n, const ex &p, const ex &x, unsigned deriv_param)
static void S_print_latex (const ex &n, const ex &p, const ex &x, const print_context &c)
 REGISTER_FUNCTION (S, evalf_func(S_evalf).eval_func(S_eval).series_func(S_series).derivative_func(S_deriv).print_func< print_latex >(S_print_latex).do_not_evalf_params())
static ex H_evalf (const ex &x1, const ex &x2)
static ex H_eval (const ex &m_, const ex &x)
static ex H_series (const ex &m, const ex &x, const relational &rel, int order, unsigned options)
static ex H_deriv (const ex &m_, const ex &x, unsigned deriv_param)
static void H_print_latex (const ex &m_, const ex &x, const print_context &c)
 REGISTER_FUNCTION (H, evalf_func(H_evalf).eval_func(H_eval).series_func(H_series).derivative_func(H_deriv).print_func< print_latex >(H_print_latex).do_not_evalf_params())
static ex zeta1_evalf (const ex &x)
static ex zeta1_eval (const ex &m)
static ex zeta1_deriv (const ex &m, unsigned deriv_param)
static void zeta1_print_latex (const ex &m_, const print_context &c)
static ex zeta2_evalf (const ex &x, const ex &s)
static ex zeta2_eval (const ex &m, const ex &s_)
static ex zeta2_deriv (const ex &m, const ex &s, unsigned deriv_param)
static void zeta2_print_latex (const ex &m_, const ex &s_, const print_context &c)
static ex exp_evalf (const ex &x)
static ex exp_eval (const ex &x)
static ex exp_deriv (const ex &x, unsigned deriv_param)
static ex exp_real_part (const ex &x)
static ex exp_imag_part (const ex &x)
static ex exp_conjugate (const ex &x)
 REGISTER_FUNCTION (exp, eval_func(exp_eval).evalf_func(exp_evalf).derivative_func(exp_deriv).real_part_func(exp_real_part).imag_part_func(exp_imag_part).conjugate_func(exp_conjugate).latex_name("\\exp"))
static ex log_evalf (const ex &x)
static ex log_eval (const ex &x)
static ex log_deriv (const ex &x, unsigned deriv_param)
static ex log_series (const ex &arg, const relational &rel, int order, unsigned options)
static ex log_real_part (const ex &x)
static ex log_imag_part (const ex &x)
static ex log_conjugate (const ex &x)
 REGISTER_FUNCTION (log, eval_func(log_eval).evalf_func(log_evalf).derivative_func(log_deriv).series_func(log_series).real_part_func(log_real_part).imag_part_func(log_imag_part).conjugate_func(log_conjugate).latex_name("\\ln"))
static ex sin_evalf (const ex &x)
static ex sin_eval (const ex &x)
static ex sin_deriv (const ex &x, unsigned deriv_param)
static ex sin_real_part (const ex &x)
static ex sin_imag_part (const ex &x)
static ex sin_conjugate (const ex &x)
 REGISTER_FUNCTION (sin, eval_func(sin_eval).evalf_func(sin_evalf).derivative_func(sin_deriv).real_part_func(sin_real_part).imag_part_func(sin_imag_part).conjugate_func(sin_conjugate).latex_name("\\sin"))
static ex cos_evalf (const ex &x)
static ex cos_eval (const ex &x)
static ex cos_deriv (const ex &x, unsigned deriv_param)
static ex cos_real_part (const ex &x)
static ex cos_imag_part (const ex &x)
static ex cos_conjugate (const ex &x)
 REGISTER_FUNCTION (cos, eval_func(cos_eval).evalf_func(cos_evalf).derivative_func(cos_deriv).real_part_func(cos_real_part).imag_part_func(cos_imag_part).conjugate_func(cos_conjugate).latex_name("\\cos"))
static ex tan_evalf (const ex &x)
static ex tan_eval (const ex &x)
static ex tan_deriv (const ex &x, unsigned deriv_param)
static ex tan_real_part (const ex &x)
static ex tan_imag_part (const ex &x)
static ex tan_series (const ex &x, const relational &rel, int order, unsigned options)
static ex tan_conjugate (const ex &x)
 REGISTER_FUNCTION (tan, eval_func(tan_eval).evalf_func(tan_evalf).derivative_func(tan_deriv).series_func(tan_series).real_part_func(tan_real_part).imag_part_func(tan_imag_part).conjugate_func(tan_conjugate).latex_name("\\tan"))
static ex asin_evalf (const ex &x)
static ex asin_eval (const ex &x)
static ex asin_deriv (const ex &x, unsigned deriv_param)
static ex asin_conjugate (const ex &x)
 REGISTER_FUNCTION (asin, eval_func(asin_eval).evalf_func(asin_evalf).derivative_func(asin_deriv).conjugate_func(asin_conjugate).latex_name("\\arcsin"))
static ex acos_evalf (const ex &x)
static ex acos_eval (const ex &x)
static ex acos_deriv (const ex &x, unsigned deriv_param)
static ex acos_conjugate (const ex &x)
 REGISTER_FUNCTION (acos, eval_func(acos_eval).evalf_func(acos_evalf).derivative_func(acos_deriv).conjugate_func(acos_conjugate).latex_name("\\arccos"))
static ex atan_evalf (const ex &x)
static ex atan_eval (const ex &x)
static ex atan_deriv (const ex &x, unsigned deriv_param)
static ex atan_series (const ex &arg, const relational &rel, int order, unsigned options)
static ex atan_conjugate (const ex &x)
 REGISTER_FUNCTION (atan, eval_func(atan_eval).evalf_func(atan_evalf).derivative_func(atan_deriv).series_func(atan_series).conjugate_func(atan_conjugate).latex_name("\\arctan"))
static ex atan2_evalf (const ex &y, const ex &x)
static ex atan2_eval (const ex &y, const ex &x)
static ex atan2_deriv (const ex &y, const ex &x, unsigned deriv_param)
 REGISTER_FUNCTION (atan2, eval_func(atan2_eval).evalf_func(atan2_evalf).derivative_func(atan2_deriv))
static ex sinh_evalf (const ex &x)
static ex sinh_eval (const ex &x)
static ex sinh_deriv (const ex &x, unsigned deriv_param)
static ex sinh_real_part (const ex &x)
static ex sinh_imag_part (const ex &x)
static ex sinh_conjugate (const ex &x)
 REGISTER_FUNCTION (sinh, eval_func(sinh_eval).evalf_func(sinh_evalf).derivative_func(sinh_deriv).real_part_func(sinh_real_part).imag_part_func(sinh_imag_part).conjugate_func(sinh_conjugate).latex_name("\\sinh"))
static ex cosh_evalf (const ex &x)
static ex cosh_eval (const ex &x)
static ex cosh_deriv (const ex &x, unsigned deriv_param)
static ex cosh_real_part (const ex &x)
static ex cosh_imag_part (const ex &x)
static ex cosh_conjugate (const ex &x)
 REGISTER_FUNCTION (cosh, eval_func(cosh_eval).evalf_func(cosh_evalf).derivative_func(cosh_deriv).real_part_func(cosh_real_part).imag_part_func(cosh_imag_part).conjugate_func(cosh_conjugate).latex_name("\\cosh"))
static ex tanh_evalf (const ex &x)
static ex tanh_eval (const ex &x)
static ex tanh_deriv (const ex &x, unsigned deriv_param)
static ex tanh_series (const ex &x, const relational &rel, int order, unsigned options)
static ex tanh_real_part (const ex &x)
static ex tanh_imag_part (const ex &x)
static ex tanh_conjugate (const ex &x)
 REGISTER_FUNCTION (tanh, eval_func(tanh_eval).evalf_func(tanh_evalf).derivative_func(tanh_deriv).series_func(tanh_series).real_part_func(tanh_real_part).imag_part_func(tanh_imag_part).conjugate_func(tanh_conjugate).latex_name("\\tanh"))
static ex asinh_evalf (const ex &x)
static ex asinh_eval (const ex &x)
static ex asinh_deriv (const ex &x, unsigned deriv_param)
static ex asinh_conjugate (const ex &x)
 REGISTER_FUNCTION (asinh, eval_func(asinh_eval).evalf_func(asinh_evalf).derivative_func(asinh_deriv).conjugate_func(asinh_conjugate))
static ex acosh_evalf (const ex &x)
static ex acosh_eval (const ex &x)
static ex acosh_deriv (const ex &x, unsigned deriv_param)
static ex acosh_conjugate (const ex &x)
 REGISTER_FUNCTION (acosh, eval_func(acosh_eval).evalf_func(acosh_evalf).derivative_func(acosh_deriv).conjugate_func(acosh_conjugate))
static ex atanh_evalf (const ex &x)
static ex atanh_eval (const ex &x)
static ex atanh_deriv (const ex &x, unsigned deriv_param)
static ex atanh_series (const ex &arg, const relational &rel, int order, unsigned options)
static ex atanh_conjugate (const ex &x)
 REGISTER_FUNCTION (atanh, eval_func(atanh_eval).evalf_func(atanh_evalf).derivative_func(atanh_deriv).series_func(atanh_series).conjugate_func(atanh_conjugate))
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (integral, basic, print_func< print_dflt >(&integral::do_print).print_func< print_latex >(&integral::do_print_latex)) integral
ex subsvalue (const ex &var, const ex &value, const ex &fun)
ex adaptivesimpson (const ex &x, const ex &a_in, const ex &b_in, const ex &f, const ex &error)
 Numeric integration routine based upon the "Adaptive Quadrature" one in "Numerical Analysis" by Burden and Faires.
 GINAC_BIND_UNARCHIVER (integral)
 GINAC_DECLARE_UNARCHIVER (integral)
 GINAC_BIND_UNARCHIVER (lst)
 GINAC_DECLARE_UNARCHIVER (lst)
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (matrix, basic, print_func< print_context >(&matrix::do_print).print_func< print_latex >(&matrix::do_print_latex).print_func< print_tree >(&matrix::do_print_tree).print_func< print_python_repr >(&matrix::do_print_python_repr)) matrix
 Default ctor.
 GINAC_BIND_UNARCHIVER (matrix)
ex lst_to_matrix (const lst &l)
 Convert list of lists to matrix.
ex diag_matrix (const lst &l)
 Convert list of diagonal elements to matrix.
ex unit_matrix (unsigned r, unsigned c)
 Create an r times c unit matrix.
ex symbolic_matrix (unsigned r, unsigned c, const std::string &base_name, const std::string &tex_base_name)
 Create an r times c matrix of newly generated symbols consisting of the given base name plus the numeric row/column position of each element.
ex reduced_matrix (const matrix &m, unsigned r, unsigned c)
 Return the reduced matrix that is formed by deleting the rth row and cth column of matrix m.
ex sub_matrix (const matrix &m, unsigned r, unsigned nr, unsigned c, unsigned nc)
 Return the nr times nc submatrix starting at position r, c of matrix m.
 GINAC_DECLARE_UNARCHIVER (matrix)
size_t nops (const matrix &m)
ex expand (const matrix &m, unsigned options=0)
ex eval (const matrix &m, int level=0)
ex evalf (const matrix &m, int level=0)
unsigned rows (const matrix &m)
unsigned cols (const matrix &m)
matrix transpose (const matrix &m)
ex determinant (const matrix &m, unsigned options=determinant_algo::automatic)
ex trace (const matrix &m)
ex charpoly (const matrix &m, const ex &lambda)
matrix inverse (const matrix &m)
unsigned rank (const matrix &m)
ex unit_matrix (unsigned x)
 Create a x times x unit matrix.
ex symbolic_matrix (unsigned r, unsigned c, const std::string &base_name)
 Create an r times c matrix of newly generated symbols consisting of the given base name plus the numeric row/column position of each element.
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (mul, expairseq, print_func< print_context >(&mul::do_print).print_func< print_latex >(&mul::do_print_latex).print_func< print_csrc >(&mul::do_print_csrc).print_func< print_tree >(&mul::do_print_tree).print_func< print_python_repr >(&mul::do_print_python_repr)) mul
bool tryfactsubs (const ex &origfactor, const ex &patternfactor, int &nummatches, exmap &repls)
bool algebraic_match_mul_with_mul (const mul &e, const ex &pat, exmap &repls, int factor, int &nummatches, const std::vector< bool > &subsed, std::vector< bool > &matched)
 Checks wheter e matches to the pattern pat and the (possibly to be updated) list of replacements repls.
 GINAC_BIND_UNARCHIVER (mul)
 GINAC_DECLARE_UNARCHIVER (mul)
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (ncmul, exprseq, print_func< print_context >(&ncmul::do_print).print_func< print_tree >(&ncmul::do_print_tree).print_func< print_csrc >(&ncmul::do_print_csrc).print_func< print_python_repr >(&ncmul::do_print_csrc)) ncmul
ex reeval_ncmul (const exvector &v)
ex hold_ncmul (const exvector &v)
 GINAC_BIND_UNARCHIVER (ncmul)
 GINAC_DECLARE_UNARCHIVER (ncmul)
static bool get_first_symbol (const ex &e, ex &x)
 Return pointer to first symbol found in expression.
static void add_symbol (const ex &s, sym_desc_vec &v)
static void collect_symbols (const ex &e, sym_desc_vec &v)
static void get_symbol_stats (const ex &a, const ex &b, sym_desc_vec &v)
 Collect statistical information about symbols in polynomials.
static numeric lcmcoeff (const ex &e, const numeric &l)
static numeric lcm_of_coefficients_denominators (const ex &e)
 Compute LCM of denominators of coefficients of a polynomial.
static ex multiply_lcm (const ex &e, const numeric &lcm)
 Bring polynomial from Q[X] to Z[X] by multiplying in the previously determined LCM of the coefficient's denominators.
ex quo (const ex &a, const ex &b, const ex &x, bool check_args)
 Quotient q(x) of polynomials a(x) and b(x) in Q[x].
ex rem (const ex &a, const ex &b, const ex &x, bool check_args)
 Remainder r(x) of polynomials a(x) and b(x) in Q[x].
ex decomp_rational (const ex &a, const ex &x)
 Decompose rational function a(x)=N(x)/D(x) into P(x)+n(x)/D(x) with degree(n, x) < degree(D, x).
ex prem (const ex &a, const ex &b, const ex &x, bool check_args)
 Pseudo-remainder of polynomials a(x) and b(x) in Q[x].
ex sprem (const ex &a, const ex &b, const ex &x, bool check_args)
 Sparse pseudo-remainder of polynomials a(x) and b(x) in Q[x].
bool divide (const ex &a, const ex &b, ex &q, bool check_args)
 Exact polynomial division of a(X) by b(X) in Q[X].
static bool divide_in_z (const ex &a, const ex &b, ex &q, sym_desc_vec::const_iterator var)
 Exact polynomial division of a(X) by b(X) in Z[X].
static ex sr_gcd (const ex &a, const ex &b, sym_desc_vec::const_iterator var)
 Compute GCD of multivariate polynomials using the subresultant PRS algorithm.
static ex interpolate (const ex &gamma, const numeric &xi, const ex &x, int degree_hint=1)
 xi-adic polynomial interpolation
static bool heur_gcd_z (ex &res, const ex &a, const ex &b, ex *ca, ex *cb, sym_desc_vec::const_iterator var)
 Compute GCD of multivariate polynomials using the heuristic GCD algorithm.
static bool heur_gcd (ex &res, const ex &a, const ex &b, ex *ca, ex *cb, sym_desc_vec::const_iterator var)
 Compute GCD of multivariate polynomials using the heuristic GCD algorithm.
static ex gcd_pf_pow (const ex &a, const ex &b, ex *ca, ex *cb)
static ex gcd_pf_mul (const ex &a, const ex &b, ex *ca, ex *cb)
ex gcd (const ex &a, const ex &b, ex *ca, ex *cb, bool check_args, unsigned options)
 Compute GCD (Greatest Common Divisor) of multivariate polynomials a(X) and b(X) in Z[X].
static ex gcd_pf_pow_pow (const ex &a, const ex &b, ex *ca, ex *cb)
ex lcm (const ex &a, const ex &b, bool check_args)
 Compute LCM (Least Common Multiple) of multivariate polynomials in Z[X].
static exvector sqrfree_yun (const ex &a, const symbol &x)
 Compute square-free factorization of multivariate polynomial a(x) using Yun's algorithm.
ex sqrfree (const ex &a, const lst &l)
 Compute a square-free factorization of a multivariate polynomial in Q[X].
ex sqrfree_parfrac (const ex &a, const symbol &x)
 Compute square-free partial fraction decomposition of rational function a(x).
static ex replace_with_symbol (const ex &e, exmap &repl, exmap &rev_lookup)
 Create a symbol for replacing the expression "e" (or return a previously assigned symbol).
static ex replace_with_symbol (const ex &e, exmap &repl)
 Create a symbol for replacing the expression "e" (or return a previously assigned symbol).
static ex frac_cancel (const ex &n, const ex &d)
 Fraction cancellation.
static ex find_common_factor (const ex &e, ex &factor, exmap &repl)
 Remove the common factor in the terms of a sum 'e' by calculating the GCD, and multiply it into the expression 'factor' (which needs to be initialized to 1, unless you're accumulating factors).
ex collect_common_factors (const ex &e)
 Collect common factors in sums.
ex resultant (const ex &e1, const ex &e2, const ex &s)
 Resultant of two expressions e1,e2 with respect to symbol s.
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (numeric, basic, print_func< print_context >(&numeric::do_print).print_func< print_latex >(&numeric::do_print_latex).print_func< print_csrc >(&numeric::do_print_csrc).print_func< print_csrc_cl_N >(&numeric::do_print_csrc_cl_N).print_func< print_tree >(&numeric::do_print_tree).print_func< print_python_repr >(&numeric::do_print_python_repr)) numeric
 default ctor.
static const cln::cl_F make_real_float (const cln::cl_idecoded_float &dec)
 Construct a floating point number from sign, mantissa, and exponent.
static const cln::cl_F read_real_float (std::istream &s)
 Read serialized floating point number.
 GINAC_BIND_UNARCHIVER (numeric)
static void write_real_float (std::ostream &s, const cln::cl_R &n)
static void print_real_number (const print_context &c, const cln::cl_R &x)
 Helper function to print a real number in a nicer way than is CLN's default.
static void print_integer_csrc (const print_context &c, const cln::cl_I &x)
 Helper function to print integer number in C++ source format.
static void print_real_csrc (const print_context &c, const cln::cl_R &x)
 Helper function to print real number in C++ source format.
template<typename T1 , typename T2 >
static bool coerce (T1 &dst, const T2 &arg)
template<>
bool coerce< int, cln::cl_I > (int &dst, const cln::cl_I &arg)
 Check if CLN integer can be converted into int.
template<>
bool coerce< unsigned int, cln::cl_I > (unsigned int &dst, const cln::cl_I &arg)
static void print_real_cl_N (const print_context &c, const cln::cl_R &x)
 Helper function to print real number in C++ source format using cl_N types.
const numeric exp (const numeric &x)
 Exponential function.
const numeric log (const numeric &x)
 Natural logarithm.
const numeric sin (const numeric &x)
 Numeric sine (trigonometric function).
const numeric cos (const numeric &x)
 Numeric cosine (trigonometric function).
const numeric tan (const numeric &x)
 Numeric tangent (trigonometric function).
const numeric asin (const numeric &x)
 Numeric inverse sine (trigonometric function).
const numeric acos (const numeric &x)
 Numeric inverse cosine (trigonometric function).
const numeric atan (const numeric &x)
 Numeric arcustangent.
const numeric atan (const numeric &y, const numeric &x)
 Numeric arcustangent of two arguments, analytically continued in a suitable way.
const numeric sinh (const numeric &x)
 Numeric hyperbolic sine (trigonometric function).
const numeric cosh (const numeric &x)
 Numeric hyperbolic cosine (trigonometric function).
const numeric tanh (const numeric &x)
 Numeric hyperbolic tangent (trigonometric function).
const numeric asinh (const numeric &x)
 Numeric inverse hyperbolic sine (trigonometric function).
const numeric acosh (const numeric &x)
 Numeric inverse hyperbolic cosine (trigonometric function).
const numeric atanh (const numeric &x)
 Numeric inverse hyperbolic tangent (trigonometric function).
static cln::cl_N Li2_series (const cln::cl_N &x, const cln::float_format_t &prec)
 Numeric evaluation of Dilogarithm within circle of convergence (unit circle) using a power series.
static cln::cl_N Li2_projection (const cln::cl_N &x, const cln::float_format_t &prec)
 Folds Li2's argument inside a small rectangle to enhance convergence.
const cln::cl_N Li2_ (const cln::cl_N &value)
 Numeric evaluation of Dilogarithm.
const numeric Li2 (const numeric &x)
const numeric zeta (const numeric &x)
 Numeric evaluation of Riemann's Zeta function.
static const cln::float_format_t guess_precision (const cln::cl_N &x)
const cln::cl_N lgamma (const cln::cl_N &x)
 The Gamma function.
const numeric lgamma (const numeric &x)
const cln::cl_N tgamma (const cln::cl_N &x)
const numeric tgamma (const numeric &x)
const numeric psi (const numeric &x)
 The psi function (aka polygamma function).
const numeric psi (const numeric &n, const numeric &x)
 The psi functions (aka polygamma functions).
const numeric factorial (const numeric &n)
 Factorial combinatorial function.
const numeric doublefactorial (const numeric &n)
 The double factorial combinatorial function.
const numeric binomial (const numeric &n, const numeric &k)
 The Binomial coefficients.
const numeric bernoulli (const numeric &nn)
 Bernoulli number.
const numeric fibonacci (const numeric &n)
 Fibonacci number.
const numeric abs (const numeric &x)
 Absolute value.
const numeric mod (const numeric &a, const numeric &b)
 Modulus (in positive representation).
const numeric smod (const numeric &a_, const numeric &b_)
 Modulus (in symmetric representation).
const numeric irem (const numeric &a, const numeric &b)
 Numeric integer remainder.
const numeric irem (const numeric &a, const numeric &b, numeric &q)
 Numeric integer remainder.
const numeric iquo (const numeric &a, const numeric &b)
 Numeric integer quotient.
const numeric iquo (const numeric &a, const numeric &b, numeric &r)
 Numeric integer quotient.
const numeric gcd (const numeric &a, const numeric &b)
 Greatest Common Divisor.
const numeric lcm (const numeric &a, const numeric &b)
 Least Common Multiple.
const numeric sqrt (const numeric &x)
 Numeric square root.
const numeric isqrt (const numeric &x)
 Integer numeric square root.
ex PiEvalf ()
 Floating point evaluation of Archimedes' constant Pi.
ex EulerEvalf ()
 Floating point evaluation of Euler's constant gamma.
ex CatalanEvalf ()
 Floating point evaluation of Catalan's constant.
std::ostream & operator<< (std::ostream &os, const _numeric_digits &e)
 GINAC_DECLARE_UNARCHIVER (numeric)
const numeric pow (const numeric &x, const numeric &y)
const numeric inverse (const numeric &x)
numeric step (const numeric &x)
int csgn (const numeric &x)
bool is_zero (const numeric &x)
bool is_positive (const numeric &x)
bool is_negative (const numeric &x)
bool is_integer (const numeric &x)
bool is_pos_integer (const numeric &x)
bool is_nonneg_integer (const numeric &x)
bool is_even (const numeric &x)
bool is_odd (const numeric &x)
bool is_prime (const numeric &x)
bool is_rational (const numeric &x)
bool is_real (const numeric &x)
bool is_cinteger (const numeric &x)
bool is_crational (const numeric &x)
int to_int (const numeric &x)
long to_long (const numeric &x)
double to_double (const numeric &x)
const numeric real (const numeric &x)
const numeric imag (const numeric &x)
const numeric numer (const numeric &x)
const numeric denom (const numeric &x)
static const ex exadd (const ex &lh, const ex &rh)
 Used internally by operator+() to add two ex objects together.
static const ex exmul (const ex &lh, const ex &rh)
 Used internally by operator*() to multiply two ex objects together.
static const ex exminus (const ex &lh)
 Used internally by operator-() and friends to change the sign of an argument.
const ex operator+ (const ex &lh, const ex &rh)
const ex operator- (const ex &lh, const ex &rh)
const ex operator* (const ex &lh, const ex &rh)
const ex operator/ (const ex &lh, const ex &rh)
const numeric operator+ (const numeric &lh, const numeric &rh)
const numeric operator- (const numeric &lh, const numeric &rh)
const numeric operator* (const numeric &lh, const numeric &rh)
const numeric operator/ (const numeric &lh, const numeric &rh)
exoperator+= (ex &lh, const ex &rh)
exoperator-= (ex &lh, const ex &rh)
exoperator*= (ex &lh, const ex &rh)
exoperator/= (ex &lh, const ex &rh)
numericoperator+= (numeric &lh, const numeric &rh)
numericoperator-= (numeric &lh, const numeric &rh)
numericoperator*= (numeric &lh, const numeric &rh)
numericoperator/= (numeric &lh, const numeric &rh)
const ex operator+ (const ex &lh)
const ex operator- (const ex &lh)
const numeric operator+ (const numeric &lh)
const numeric operator- (const numeric &lh)
exoperator++ (ex &rh)
 Expression prefix increment.
exoperator-- (ex &rh)
 Expression prefix decrement.
const ex operator++ (ex &lh, int)
 Expression postfix increment.
const ex operator-- (ex &lh, int)
 Expression postfix decrement.
numericoperator++ (numeric &rh)
 Numeric prefix increment.
numericoperator-- (numeric &rh)
 Numeric prefix decrement.
const numeric operator++ (numeric &lh, int)
 Numeric postfix increment.
const numeric operator-- (numeric &lh, int)
 Numeric postfix decrement.
const relational operator== (const ex &lh, const ex &rh)
const relational operator!= (const ex &lh, const ex &rh)
const relational operator< (const ex &lh, const ex &rh)
const relational operator<= (const ex &lh, const ex &rh)
const relational operator> (const ex &lh, const ex &rh)
const relational operator>= (const ex &lh, const ex &rh)
static int my_ios_index ()
static void my_ios_callback (std::ios_base::event ev, std::ios_base &s, int i)
static print_contextget_print_context (std::ios_base &s)
static void set_print_context (std::ios_base &s, const print_context &c)
static unsigned get_print_options (std::ios_base &s)
static void set_print_options (std::ostream &s, unsigned options)
std::ostream & operator<< (std::ostream &os, const ex &e)
std::istream & operator>> (std::istream &is, ex &e)
std::ostream & dflt (std::ostream &os)
std::ostream & latex (std::ostream &os)
std::ostream & python (std::ostream &os)
std::ostream & python_repr (std::ostream &os)
std::ostream & tree (std::ostream &os)
std::ostream & csrc (std::ostream &os)
std::ostream & csrc_float (std::ostream &os)
std::ostream & csrc_double (std::ostream &os)
std::ostream & csrc_cl_N (std::ostream &os)
std::ostream & index_dimensions (std::ostream &os)
std::ostream & no_index_dimensions (std::ostream &os)
static void print_sym_pow (const print_context &c, const symbol &x, int exp)
 GINAC_BIND_UNARCHIVER (power)
 GINAC_DECLARE_UNARCHIVER (power)
ex pow (const ex &b, const ex &e)
 Symbolic exponentiation.
template<typename T1 , typename T2 >
ex pow (const T1 &b, const T2 &e)
ex sqrt (const ex &a)
 Square root expression.
template<class T >
bool is_a (const print_context &obj)
 Check if obj is a T, including base classes.
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (pseries, basic, print_func< print_context >(&pseries::do_print).print_func< print_latex >(&pseries::do_print_latex).print_func< print_tree >(&pseries::do_print_tree).print_func< print_python >(&pseries::do_print_python).print_func< print_python_repr >(&pseries::do_print_python_repr)) pseries
 GINAC_BIND_UNARCHIVER (pseries)
 GINAC_DECLARE_UNARCHIVER (pseries)
ex series_to_poly (const ex &e)
 Convert the pseries object embedded in an expression to an ordinary polynomial in the expansion variable.
bool is_terminating (const pseries &s)
template<typename T >
return_type_t make_return_type_t (const unsigned rl=0)
template<class Alg , class Ctx , class T , class C >
void set_print_func (void f(const T &, const C &c, unsigned))
 Add or replace a print method.
template<class Alg , class Ctx , class T , class C >
void set_print_func (void(T::*f)(const C &, unsigned))
 Add or replace a print method.
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (relational, basic, print_func< print_context >(&relational::do_print).print_func< print_tree >(&relational::do_print_tree).print_func< print_python_repr >(&relational::do_print_python_repr)) relational
 GINAC_BIND_UNARCHIVER (relational)
static void print_operator (const print_context &c, relational::operators o)
 GINAC_DECLARE_UNARCHIVER (relational)
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (symbol, basic, print_func< print_context >(&symbol::do_print).print_func< print_latex >(&symbol::do_print_latex).print_func< print_tree >(&symbol::do_print_tree).print_func< print_python_repr >(&symbol::do_print_python_repr)) symbol
static const std::string & get_default_TeX_name (const std::string &name)
 Return default TeX name for symbol.
 GINAC_BIND_UNARCHIVER (symbol)
 GINAC_BIND_UNARCHIVER (realsymbol)
 GINAC_BIND_UNARCHIVER (possymbol)
 GINAC_DECLARE_UNARCHIVER (symbol)
 GINAC_DECLARE_UNARCHIVER (realsymbol)
 GINAC_DECLARE_UNARCHIVER (possymbol)
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (symmetry, basic, print_func< print_context >(&symmetry::do_print).print_func< print_tree >(&symmetry::do_print_tree)) symmetry
 GINAC_BIND_UNARCHIVER (symmetry)
static const symmetryindex0 ()
static const symmetryindex1 ()
static const symmetryindex2 ()
static const symmetryindex3 ()
const symmetrynot_symmetric ()
const symmetrysymmetric2 ()
const symmetrysymmetric3 ()
const symmetrysymmetric4 ()
const symmetryantisymmetric2 ()
const symmetryantisymmetric3 ()
const symmetryantisymmetric4 ()
int canonicalize (exvector::iterator v, const symmetry &symm)
 Canonicalize the order of elements of an expression vector, according to the symmetry properties defined in a symmetry tree.
static ex symm (const ex &e, exvector::const_iterator first, exvector::const_iterator last, bool asymmetric)
ex symmetrize (const ex &e, exvector::const_iterator first, exvector::const_iterator last)
 Symmetrize expression over a set of objects (symbols, indices).
ex antisymmetrize (const ex &e, exvector::const_iterator first, exvector::const_iterator last)
 Antisymmetrize expression over a set of objects (symbols, indices).
ex symmetrize_cyclic (const ex &e, exvector::const_iterator first, exvector::const_iterator last)
 Symmetrize expression by cyclic permuation over a set of objects (symbols, indices).
 GINAC_DECLARE_UNARCHIVER (symmetry)
symmetry sy_none ()
symmetry sy_none (const symmetry &c1, const symmetry &c2)
symmetry sy_none (const symmetry &c1, const symmetry &c2, const symmetry &c3)
symmetry sy_none (const symmetry &c1, const symmetry &c2, const symmetry &c3, const symmetry &c4)
symmetry sy_symm ()
symmetry sy_symm (const symmetry &c1, const symmetry &c2)
symmetry sy_symm (const symmetry &c1, const symmetry &c2, const symmetry &c3)
symmetry sy_symm (const symmetry &c1, const symmetry &c2, const symmetry &c3, const symmetry &c4)
symmetry sy_anti ()
symmetry sy_anti (const symmetry &c1, const symmetry &c2)
symmetry sy_anti (const symmetry &c1, const symmetry &c2, const symmetry &c3)
symmetry sy_anti (const symmetry &c1, const symmetry &c2, const symmetry &c3, const symmetry &c4)
symmetry sy_cycl ()
symmetry sy_cycl (const symmetry &c1, const symmetry &c2)
symmetry sy_cycl (const symmetry &c1, const symmetry &c2, const symmetry &c3)
symmetry sy_cycl (const symmetry &c1, const symmetry &c2, const symmetry &c3, const symmetry &c4)
ex symmetrize (const ex &e, const exvector &v)
 Symmetrize expression over a set of objects (symbols, indices).
ex antisymmetrize (const ex &e, const exvector &v)
 Antisymmetrize expression over a set of objects (symbols, indices).
ex symmetrize_cyclic (const ex &e, const exvector &v)
 Symmetrize expression by cyclic permutation over a set of objects (symbols, indices).
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (tensdelta, tensor, print_func< print_dflt >(&tensdelta::do_print).print_func< print_latex >(&tensdelta::do_print_latex)) GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(tensmetric
 print_func< print_dflt > (&tensmetric::do_print).print_func< print_latex >(&tensmetric
 GINAC_BIND_UNARCHIVER (minkmetric)
 GINAC_BIND_UNARCHIVER (tensepsilon)
 GINAC_BIND_UNARCHIVER (tensdelta)
 GINAC_BIND_UNARCHIVER (tensmetric)
 GINAC_BIND_UNARCHIVER (spinmetric)
ex delta_tensor (const ex &i1, const ex &i2)
 Create a delta tensor with specified indices.
ex metric_tensor (const ex &i1, const ex &i2)
 Create a symmetric metric tensor with specified indices.
ex lorentz_g (const ex &i1, const ex &i2, bool pos_sig=false)
 Create a Minkowski metric tensor with specified indices.
ex spinor_metric (const ex &i1, const ex &i2)
 Create a spinor metric tensor with specified indices.
ex epsilon_tensor (const ex &i1, const ex &i2)
 Create an epsilon tensor in a Euclidean space with two indices.
ex epsilon_tensor (const ex &i1, const ex &i2, const ex &i3)
 Create an epsilon tensor in a Euclidean space with three indices.
ex lorentz_eps (const ex &i1, const ex &i2, const ex &i3, const ex &i4, bool pos_sig=false)
 Create an epsilon tensor in a Minkowski space with four indices.
 GINAC_DECLARE_UNARCHIVER (tensdelta)
 GINAC_DECLARE_UNARCHIVER (tensmetric)
 GINAC_DECLARE_UNARCHIVER (minkmetric)
 GINAC_DECLARE_UNARCHIVER (spinmetric)
 GINAC_DECLARE_UNARCHIVER (tensepsilon)
template<class T >
std::string ToString (const T &t)
unsigned log2 (unsigned n)
 Integer binary logarithm.
unsigned rotate_left (unsigned n)
 Rotate bits of unsigned value by one bit to the left.
template<class T >
int compare_pointers (const T *a, const T *b)
 Compare two pointers (just to establish some sort of canonical order).
unsigned golden_ratio_hash (p_int n)
 Truncated multiplication with golden ratio, for computing hash values.
template<class It >
int permutation_sign (It first, It last)
template<class It , class Cmp , class Swap >
int permutation_sign (It first, It last, Cmp comp, Swap swapit)
template<class It , class Cmp , class Swap >
void shaker_sort (It first, It last, Cmp comp, Swap swapit)
template<class It , class Swap >
void cyclic_permutation (It first, It last, It new_first, Swap swapit)
 GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (wildcard, basic, print_func< print_context >(&wildcard::do_print).print_func< print_tree >(&wildcard::do_print_tree).print_func< print_python_repr >(&wildcard::do_print_python_repr)) wildcard
 GINAC_BIND_UNARCHIVER (wildcard)
bool haswild (const ex &x)
 Check whether x has a wildcard anywhere as a subexpression.
 GINAC_DECLARE_UNARCHIVER (wildcard)
ex wild (unsigned label=0)
 Create a wildcard object with the specified label.

Variables

static unarchive_table_t unarch_table_instance
GiNaC::evalm_map_function map_evalm
GiNaC::eval_integ_map_function map_eval_integ
int max_recursion_level = 1024
 tensor
const constant Pi ("Pi", PiEvalf,"\\pi", domain::positive)
 Pi.
const constant Euler ("Euler", EulerEvalf,"\\gamma_E", domain::positive)
 Euler's constant.
const constant Catalan ("Catalan", CatalanEvalf,"G", domain::positive)
 Catalan's constant.
static unsigned const crctab [256]
static library_init library_initializer
 For construction of flyweights, etc.
const basic_num0_bp
 idx
unsigned force_include_tgamma = tgamma_SERIAL::serial
unsigned force_include_zeta1 = zeta1_SERIAL::serial
const numeric I = numeric(cln::complex(cln::cl_I(0),cln::cl_I(1)))
 Imaginary unit.
_numeric_digits Digits
 Accuracy in decimal digits.
unsigned next_print_context_id = 0
 Next free ID for print_context types.
const int version_major = GINACLIB_MAJOR_VERSION
const int version_minor = GINACLIB_MINOR_VERSION
const int version_micro = GINACLIB_MICRO_VERSION
const numeric_num_120_p
const ex _ex_120 = _ex_120
const numeric_num_60_p
const ex _ex_60 = _ex_60
const numeric_num_48_p
const ex _ex_48 = _ex_48
const numeric_num_30_p
const ex _ex_30 = _ex_30
const numeric_num_25_p
const ex _ex_25 = _ex_25
const numeric_num_24_p
const ex _ex_24 = _ex_24
const numeric_num_20_p
const ex _ex_20 = _ex_20
const numeric_num_18_p
const ex _ex_18 = _ex_18
const numeric_num_15_p
const ex _ex_15 = _ex_15
const numeric_num_12_p
const ex _ex_12 = _ex_12
const numeric_num_11_p
const ex _ex_11 = _ex_11
const numeric_num_10_p
const ex _ex_10 = _ex_10
const numeric_num_9_p
const ex _ex_9 = _ex_9
const numeric_num_8_p
const ex _ex_8 = _ex_8
const numeric_num_7_p
const ex _ex_7 = _ex_7
const numeric_num_6_p
const ex _ex_6 = _ex_6
const numeric_num_5_p
const ex _ex_5 = _ex_5
const numeric_num_4_p
const ex _ex_4 = _ex_4
const numeric_num_3_p
const ex _ex_3 = _ex_3
const numeric_num_2_p
const ex _ex_2 = _ex_2
const numeric_num_1_p
const ex _ex_1 = _ex_1
const numeric_num_1_2_p
const ex _ex_1_2 = _ex_1_2
const numeric_num_1_3_p
const ex _ex_1_3 = _ex_1_3
const numeric_num_1_4_p
const ex _ex_1_4 = _ex_1_4
const numeric_num0_p
const ex _ex0 = _ex0
const numeric_num1_4_p
const ex _ex1_4 = _ex1_4
const numeric_num1_3_p
const ex _ex1_3 = _ex1_3
const numeric_num1_2_p
const ex _ex1_2 = _ex1_2
const numeric_num1_p
const ex _ex1 = _ex1
const numeric_num2_p
const ex _ex2 = _ex2
const numeric_num3_p
const ex _ex3 = _ex3
const numeric_num4_p
const ex _ex4 = _ex4
const numeric_num5_p
const ex _ex5 = _ex5
const numeric_num6_p
const ex _ex6 = _ex6
const numeric_num7_p
const ex _ex7 = _ex7
const numeric_num8_p
const ex _ex8 = _ex8
const numeric_num9_p
const ex _ex9 = _ex9
const numeric_num10_p
const ex _ex10 = _ex10
const numeric_num11_p
const ex _ex11 = _ex11
const numeric_num12_p
const ex _ex12 = _ex12
const numeric_num15_p
const ex _ex15 = _ex15
const numeric_num18_p
const ex _ex18 = _ex18
const numeric_num20_p
const ex _ex20 = _ex20
const numeric_num24_p
const ex _ex24 = _ex24
const numeric_num25_p
const ex _ex25 = _ex25
const numeric_num30_p
const ex _ex30 = _ex30
const numeric_num48_p
const ex _ex48 = _ex48
const numeric_num60_p
const ex _ex60 = _ex60
const numeric_num120_p
const ex _ex120 = _ex120

Detailed Description

CRC32 hash function.

We need a hash function which gives different values for objects of different types.

Shamelessly stolen from GNU coreutils (cksum.c)

Hence we need some unique integer for each type. Fortunately, standard C++ RTTI class `type_info' stores a pointer to mangled type name. Normally this pointer is the same for all objects of the same type (although it changes from run to run), so it can be used for computing hashes. However, on some platforms (such as woe32) the pointer returned by type_info::name() might be different even for objects of the same type! Hence we need to resort to comparing string representation of the (mangled) type names. This is quite expensive, so we compare crc32 hashes of those strings. We might got more hash collisions (and slower evaluation as a result), but being a bit slower is much better than being wrong.


Typedef Documentation

typedef unsigned GiNaC::archive_node_id

Numerical ID value to refer to an archive_node.

Definition at line 35 of file archive.h.

typedef unsigned GiNaC::archive_atom

Numerical ID value to refer to a string.

Definition at line 42 of file archive.h.

Definition at line 161 of file archive.h.

typedef std::map<std::string, synthesize_func> GiNaC::unarchive_map_t

Definition at line 162 of file archive.h.

typedef std::vector<ex> GiNaC::exvector

Definition at line 47 of file basic.h.

typedef std::set<ex, ex_is_less> GiNaC::exset

Definition at line 50 of file basic.h.

typedef std::map<ex, ex, ex_is_less> GiNaC::exmap

Definition at line 51 of file basic.h.

typedef ex(* GiNaC::evalffunctype)()

Definition at line 34 of file constant.h.

typedef double(* GiNaC::FUNCP_1P)(double)

Function pointer with one function parameter.

Definition at line 39 of file excompiler.h.

typedef double(* GiNaC::FUNCP_2P)(double, double)

Function pointer with two function parameters.

Definition at line 44 of file excompiler.h.

typedef void(* GiNaC::FUNCP_CUBA)(const int *, const double[], const int *, double[])

Function pointer for use with the CUBA library (http://www.feynarts.de/cuba).

Definition at line 49 of file excompiler.h.

typedef std::vector<expair> GiNaC::epvector

expair-vector

Definition at line 48 of file expairseq.h.

typedef epvector::iterator GiNaC::epp

expair-vector pointer

Definition at line 49 of file expairseq.h.

typedef std::list<epp> GiNaC::epplist

list of expair-vector pointers

Definition at line 50 of file expairseq.h.

typedef std::vector<epplist> GiNaC::epplistvector

vector of epplist

Definition at line 51 of file expairseq.h.

typedef container<std::vector> GiNaC::exprseq

Definition at line 32 of file exprseq.h.

typedef std::multiset<unsigned> GiNaC::paramset

Definition at line 32 of file fderivative.h.

typedef ex(* GiNaC::eval_funcp)()

Definition at line 148 of file function.h.

typedef ex(* GiNaC::evalf_funcp)()

Definition at line 149 of file function.h.

typedef ex(* GiNaC::conjugate_funcp)()

Definition at line 150 of file function.h.

typedef ex(* GiNaC::real_part_funcp)()

Definition at line 151 of file function.h.

typedef ex(* GiNaC::imag_part_funcp)()

Definition at line 152 of file function.h.

Definition at line 153 of file function.h.

typedef ex(* GiNaC::power_funcp)()

Definition at line 154 of file function.h.

typedef ex(* GiNaC::series_funcp)()

Definition at line 155 of file function.h.

typedef void(* GiNaC::print_funcp)()

Definition at line 156 of file function.h.

typedef ex(* GiNaC::eval_funcp_1)(const ex &)

Definition at line 159 of file function.h.

typedef ex(* GiNaC::eval_funcp_2)(const ex &, const ex &)

Definition at line 160 of file function.h.

typedef ex(* GiNaC::eval_funcp_3)(const ex &, const ex &, const ex &)

Definition at line 161 of file function.h.

typedef ex(* GiNaC::eval_funcp_4)(const ex &, const ex &, const ex &, const ex &)

Definition at line 162 of file function.h.

typedef ex(* GiNaC::eval_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 163 of file function.h.

typedef ex(* GiNaC::eval_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 164 of file function.h.

typedef ex(* GiNaC::eval_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 165 of file function.h.

typedef ex(* GiNaC::eval_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 166 of file function.h.

typedef ex(* GiNaC::eval_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 167 of file function.h.

typedef ex(* GiNaC::eval_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 168 of file function.h.

typedef ex(* GiNaC::eval_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 169 of file function.h.

typedef ex(* GiNaC::eval_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 170 of file function.h.

typedef ex(* GiNaC::eval_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 171 of file function.h.

typedef ex(* GiNaC::eval_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 172 of file function.h.

typedef ex(* GiNaC::evalf_funcp_1)(const ex &)

Definition at line 174 of file function.h.

typedef ex(* GiNaC::evalf_funcp_2)(const ex &, const ex &)

Definition at line 175 of file function.h.

typedef ex(* GiNaC::evalf_funcp_3)(const ex &, const ex &, const ex &)

Definition at line 176 of file function.h.

typedef ex(* GiNaC::evalf_funcp_4)(const ex &, const ex &, const ex &, const ex &)

Definition at line 177 of file function.h.

typedef ex(* GiNaC::evalf_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 178 of file function.h.

typedef ex(* GiNaC::evalf_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 179 of file function.h.

typedef ex(* GiNaC::evalf_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 180 of file function.h.

typedef ex(* GiNaC::evalf_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 181 of file function.h.

typedef ex(* GiNaC::evalf_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 182 of file function.h.

typedef ex(* GiNaC::evalf_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 183 of file function.h.

typedef ex(* GiNaC::evalf_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 184 of file function.h.

typedef ex(* GiNaC::evalf_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 185 of file function.h.

typedef ex(* GiNaC::evalf_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 186 of file function.h.

typedef ex(* GiNaC::evalf_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 187 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_1)(const ex &)

Definition at line 189 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_2)(const ex &, const ex &)

Definition at line 190 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_3)(const ex &, const ex &, const ex &)

Definition at line 191 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_4)(const ex &, const ex &, const ex &, const ex &)

Definition at line 192 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 193 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 194 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 195 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 196 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 197 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 198 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 199 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 200 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 201 of file function.h.

typedef ex(* GiNaC::conjugate_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 202 of file function.h.

typedef ex(* GiNaC::real_part_funcp_1)(const ex &)

Definition at line 204 of file function.h.

typedef ex(* GiNaC::real_part_funcp_2)(const ex &, const ex &)

Definition at line 205 of file function.h.

typedef ex(* GiNaC::real_part_funcp_3)(const ex &, const ex &, const ex &)

Definition at line 206 of file function.h.

typedef ex(* GiNaC::real_part_funcp_4)(const ex &, const ex &, const ex &, const ex &)

Definition at line 207 of file function.h.

typedef ex(* GiNaC::real_part_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 208 of file function.h.

typedef ex(* GiNaC::real_part_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 209 of file function.h.

typedef ex(* GiNaC::real_part_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 210 of file function.h.

typedef ex(* GiNaC::real_part_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 211 of file function.h.

typedef ex(* GiNaC::real_part_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 212 of file function.h.

typedef ex(* GiNaC::real_part_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 213 of file function.h.

typedef ex(* GiNaC::real_part_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 214 of file function.h.

typedef ex(* GiNaC::real_part_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 215 of file function.h.

typedef ex(* GiNaC::real_part_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 216 of file function.h.

typedef ex(* GiNaC::real_part_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 217 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_1)(const ex &)

Definition at line 219 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_2)(const ex &, const ex &)

Definition at line 220 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_3)(const ex &, const ex &, const ex &)

Definition at line 221 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_4)(const ex &, const ex &, const ex &, const ex &)

Definition at line 222 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 223 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 224 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 225 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 226 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 227 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 228 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 229 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 230 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 231 of file function.h.

typedef ex(* GiNaC::imag_part_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 232 of file function.h.

typedef ex(* GiNaC::derivative_funcp_1)(const ex &, unsigned)

Definition at line 234 of file function.h.

typedef ex(* GiNaC::derivative_funcp_2)(const ex &, const ex &, unsigned)

Definition at line 235 of file function.h.

typedef ex(* GiNaC::derivative_funcp_3)(const ex &, const ex &, const ex &, unsigned)

Definition at line 236 of file function.h.

typedef ex(* GiNaC::derivative_funcp_4)(const ex &, const ex &, const ex &, const ex &, unsigned)

Definition at line 237 of file function.h.

typedef ex(* GiNaC::derivative_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)

Definition at line 238 of file function.h.

typedef ex(* GiNaC::derivative_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)

Definition at line 239 of file function.h.

typedef ex(* GiNaC::derivative_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)

Definition at line 240 of file function.h.

typedef ex(* GiNaC::derivative_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)

Definition at line 241 of file function.h.

typedef ex(* GiNaC::derivative_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)

Definition at line 242 of file function.h.

typedef ex(* GiNaC::derivative_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)

Definition at line 243 of file function.h.

typedef ex(* GiNaC::derivative_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)

Definition at line 244 of file function.h.

typedef ex(* GiNaC::derivative_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)

Definition at line 245 of file function.h.

typedef ex(* GiNaC::derivative_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)

Definition at line 246 of file function.h.

typedef ex(* GiNaC::derivative_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, unsigned)

Definition at line 247 of file function.h.

typedef ex(* GiNaC::power_funcp_1)(const ex &, const ex &)

Definition at line 249 of file function.h.

typedef ex(* GiNaC::power_funcp_2)(const ex &, const ex &, const ex &)

Definition at line 250 of file function.h.

typedef ex(* GiNaC::power_funcp_3)(const ex &, const ex &, const ex &, const ex &)

Definition at line 251 of file function.h.

typedef ex(* GiNaC::power_funcp_4)(const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 252 of file function.h.

typedef ex(* GiNaC::power_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 253 of file function.h.

typedef ex(* GiNaC::power_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 254 of file function.h.

typedef ex(* GiNaC::power_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 255 of file function.h.

typedef ex(* GiNaC::power_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 256 of file function.h.

typedef ex(* GiNaC::power_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 257 of file function.h.

typedef ex(* GiNaC::power_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 258 of file function.h.

typedef ex(* GiNaC::power_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 259 of file function.h.

typedef ex(* GiNaC::power_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 260 of file function.h.

typedef ex(* GiNaC::power_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 261 of file function.h.

typedef ex(* GiNaC::power_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &)

Definition at line 262 of file function.h.

typedef ex(* GiNaC::series_funcp_1)(const ex &, const relational &, int, unsigned)

Definition at line 264 of file function.h.

typedef ex(* GiNaC::series_funcp_2)(const ex &, const ex &, const relational &, int, unsigned)

Definition at line 265 of file function.h.

typedef ex(* GiNaC::series_funcp_3)(const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 266 of file function.h.

typedef ex(* GiNaC::series_funcp_4)(const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 267 of file function.h.

typedef ex(* GiNaC::series_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 268 of file function.h.

typedef ex(* GiNaC::series_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 269 of file function.h.

typedef ex(* GiNaC::series_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 270 of file function.h.

typedef ex(* GiNaC::series_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 271 of file function.h.

typedef ex(* GiNaC::series_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 272 of file function.h.

typedef ex(* GiNaC::series_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 273 of file function.h.

typedef ex(* GiNaC::series_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 274 of file function.h.

typedef ex(* GiNaC::series_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 275 of file function.h.

typedef ex(* GiNaC::series_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 276 of file function.h.

typedef ex(* GiNaC::series_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const relational &, int, unsigned)

Definition at line 277 of file function.h.

typedef void(* GiNaC::print_funcp_1)(const ex &, const print_context &)

Definition at line 279 of file function.h.

typedef void(* GiNaC::print_funcp_2)(const ex &, const ex &, const print_context &)

Definition at line 280 of file function.h.

typedef void(* GiNaC::print_funcp_3)(const ex &, const ex &, const ex &, const print_context &)

Definition at line 281 of file function.h.

typedef void(* GiNaC::print_funcp_4)(const ex &, const ex &, const ex &, const ex &, const print_context &)

Definition at line 282 of file function.h.

typedef void(* GiNaC::print_funcp_5)(const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)

Definition at line 283 of file function.h.

typedef void(* GiNaC::print_funcp_6)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)

Definition at line 284 of file function.h.

typedef void(* GiNaC::print_funcp_7)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)

Definition at line 285 of file function.h.

typedef void(* GiNaC::print_funcp_8)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)

Definition at line 286 of file function.h.

typedef void(* GiNaC::print_funcp_9)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)

Definition at line 287 of file function.h.

typedef void(* GiNaC::print_funcp_10)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)

Definition at line 288 of file function.h.

typedef void(* GiNaC::print_funcp_11)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)

Definition at line 289 of file function.h.

typedef void(* GiNaC::print_funcp_12)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)

Definition at line 290 of file function.h.

typedef void(* GiNaC::print_funcp_13)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)

Definition at line 291 of file function.h.

typedef void(* GiNaC::print_funcp_14)(const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const ex &, const print_context &)

Definition at line 292 of file function.h.

typedef ex(* GiNaC::eval_funcp_exvector)(const exvector &)

Definition at line 298 of file function.h.

Definition at line 299 of file function.h.

Definition at line 300 of file function.h.

Definition at line 301 of file function.h.

Definition at line 302 of file function.h.

typedef ex(* GiNaC::derivative_funcp_exvector)(const exvector &, unsigned)

Definition at line 303 of file function.h.

typedef ex(* GiNaC::power_funcp_exvector)(const exvector &, const ex &)

Definition at line 304 of file function.h.

typedef ex(* GiNaC::series_funcp_exvector)(const exvector &, const relational &, int, unsigned)

Definition at line 305 of file function.h.

typedef void(* GiNaC::print_funcp_exvector)(const exvector &, const print_context &)

Definition at line 306 of file function.h.

typedef std::map<spmapkey, ex> GiNaC::spmap

Definition at line 221 of file indexed.h.

Definition at line 234 of file integral.cpp.

typedef container< std::list > GiNaC::lst

Definition at line 32 of file lst.h.

typedef std::vector<std::size_t> GiNaC::uintvector

Definition at line 118 of file ncmul.cpp.

typedef std::vector<unsigned> GiNaC::unsignedvector

Definition at line 290 of file ncmul.cpp.

typedef std::vector<exvector> GiNaC::exvectorvector

Definition at line 291 of file ncmul.cpp.

typedef std::vector<sym_desc> GiNaC::sym_desc_vec

Definition at line 155 of file normal.cpp.

typedef void(* GiNaC::digits_changed_callback)(long)

Function pointer to implement callbacks in the case 'Digits' gets changed.

Main purpose of such callbacks is to adjust look-up tables of certain functions to the new precision. Parameter contains the signed difference between new Digits and old Digits.

Definition at line 46 of file numeric.h.

Definition at line 50 of file print.h.

Definition at line 126 of file registrar.h.

typedef unsigned long GiNaC::p_int

Definition at line 75 of file utils.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
callback_registered 

Definition at line 298 of file operators.cpp.


Function Documentation

GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT ( add  ,
expairseq  ,
print_func< print_context > &::do_print.print_func< print_latex > &::do_print_latex.print_func< print_csrc > &::do_print_csrc.print_func< print_tree > &::do_print_tree.print_func< print_python_repr > &::do_print_python_repr   
)

Definition at line 40 of file add.cpp.

GiNaC::GINAC_BIND_UNARCHIVER ( add  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( add  )
static void GiNaC::write_unsigned ( std::ostream &  os,
unsigned  val 
) [static]

Write unsigned integer quantity to stream.

Definition at line 175 of file archive.cpp.

Referenced by operator<<().

static unsigned GiNaC::read_unsigned ( std::istream &  is) [static]

Read unsigned integer quantity from stream.

Definition at line 185 of file archive.cpp.

Referenced by operator>>().

std::ostream& GiNaC::operator<< ( std::ostream &  os,
const archive_node &  n 
)

Write archive_node to binary data stream.

Definition at line 201 of file archive.cpp.

References GiNaC::archive_node::props, and write_unsigned().

std::ostream & GiNaC::operator<< ( std::ostream &  os,
const archive &  ar 
)

Write archive to binary data stream.

Definition at line 214 of file archive.cpp.

References GiNaC::archive::atoms, GiNaC::archive::exprs, GiNaC::archive::nodes, and write_unsigned().

std::istream& GiNaC::operator>> ( std::istream &  is,
archive_node &  n 
)

Read archive_node from binary data stream.

Definition at line 246 of file archive.cpp.

References GiNaC::archive_node::props, and read_unsigned().

std::istream & GiNaC::operator>> ( std::istream &  is,
archive &  ar 
)

Read archive from binary data stream.

Definition at line 261 of file archive.cpp.

References GiNaC::archive::atoms, GiNaC::archive::exprs, GiNaC::archive::inverse_atoms, GiNaC::archive::nodes, read_unsigned(), and ToString().

static synthesize_func GiNaC::find_factory_fcn ( const std::string &  name) [static]

Definition at line 519 of file archive.cpp.

References GiNaC::unarchive_table_t::find().

Referenced by GiNaC::archive_node::unarchive().

GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT ( basic  ,
void  ,
print_func< print_context > &::do_print.print_func< print_tree > &::do_print_tree.print_func< print_python_repr > &::do_print_python_repr   
)

basic copy constructor: implicitly assumes that the other class is of the exact same type (as it's used by duplicate()), so it can copy the tinfo_key and the hash value.

Definition at line 45 of file basic.cpp.

template<class T >
bool GiNaC::is_a ( const basic &  obj) [inline]

Check if obj is a T, including base classes.

Definition at line 311 of file basic.h.

Referenced by GiNaC::container< C >::subs().

template<class T >
bool GiNaC::is_exactly_a ( const basic &  obj) [inline]

Check if obj is a T, not including base classes.

Definition at line 318 of file basic.h.

GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT ( clifford  ,
indexed  ,
print_func< print_dflt > &::do_print_dflt.print_func< print_latex > &::do_print_latex   
)
GiNaC::print_func< print_dflt > ( &diracone::do_print  )

Definition at line 50 of file clifford.cpp.

GiNaC::GINAC_BIND_UNARCHIVER ( clifford  )
GiNaC::GINAC_BIND_UNARCHIVER ( diracone  )
GiNaC::GINAC_BIND_UNARCHIVER ( diracgamma  )
GiNaC::GINAC_BIND_UNARCHIVER ( diracgamma5  )
GiNaC::GINAC_BIND_UNARCHIVER ( diracgammaL  )
GiNaC::GINAC_BIND_UNARCHIVER ( diracgammaR  )
static bool GiNaC::is_dirac_slash ( const ex &  seq0) [static]
static void GiNaC::base_and_index ( const ex &  c,
ex &  b,
ex &  i 
) [static]

This function decomposes gamma~mu -> (1, mu) and a\ -> (a.ix, ix)

Definition at line 311 of file clifford.cpp.

ex GiNaC::dirac_ONE ( unsigned char  rl = 0)

Create a Clifford unity object.

Parameters:
rlRepresentation label
Returns:
newly constructed object

Definition at line 711 of file clifford.cpp.

Referenced by GiNaC::add::coeff().

static unsigned GiNaC::get_dim_uint ( const ex &  e) [static]

Definition at line 717 of file clifford.cpp.

ex GiNaC::clifford_unit ( const ex &  mu,
const ex &  metr,
unsigned char  rl = 0 
)

Create a Clifford unit object.

Parameters:
muIndex (must be of class varidx or a derived class)
metrMetric (should be indexed, tensmetric or a derived class, or a matrix)
rlRepresentation label
Returns:
newly constructed Clifford unit object

Definition at line 728 of file clifford.cpp.

ex GiNaC::dirac_gamma ( const ex &  mu,
unsigned char  rl = 0 
)

Create a Dirac gamma object.

Parameters:
muIndex (must be of class varidx or a derived class)
rlRepresentation label
Returns:
newly constructed gamma object

Definition at line 771 of file clifford.cpp.

ex GiNaC::dirac_gamma5 ( unsigned char  rl = 0)

Create a Dirac gamma5 object.

Parameters:
rlRepresentation label
Returns:
newly constructed object

Definition at line 783 of file clifford.cpp.

ex GiNaC::dirac_gammaL ( unsigned char  rl = 0)

Create a Dirac gammaL object.

Parameters:
rlRepresentation label
Returns:
newly constructed object

Definition at line 789 of file clifford.cpp.

ex GiNaC::dirac_gammaR ( unsigned char  rl = 0)

Create a Dirac gammaR object.

Parameters:
rlRepresentation label
Returns:
newly constructed object

Definition at line 795 of file clifford.cpp.

ex GiNaC::dirac_slash ( const ex &  e,
const ex &  dim,
unsigned char  rl = 0 
)

Create a term of the form e_mu * gamma~mu with a unique index mu.

Parameters:
eOriginal expression
dimDimension of index
rlRepresentation label

Definition at line 801 of file clifford.cpp.

static unsigned char GiNaC::get_representation_label ( const return_type_t &  ti) [static]

Extract representation label from tinfo key (as returned by return_type_tinfo()).

Definition at line 814 of file clifford.cpp.

static ex GiNaC::trace_string ( exvector::const_iterator  ix,
size_t  num 
) [static]

Take trace of a string of an even number of Dirac gammas given a vector of indices.

Definition at line 821 of file clifford.cpp.

ex GiNaC::dirac_trace ( const ex &  e,
const std::set< unsigned char > &  rls,
const ex &  trONE = 4 
)

Calculate dirac traces over the specified set of representation labels.

The computed trace is a linear functional that is equal to the usual trace only in D = 4 dimensions. In particular, the functional is not always cyclic in D != 4 dimensions when gamma5 is involved.

Parameters:
eExpression to take the trace of
rlsSet of representation labels
trONEExpression to be returned as the trace of the unit matrix

Definition at line 855 of file clifford.cpp.

ex GiNaC::dirac_trace ( const ex &  e,
const lst &  rll,
const ex &  trONE = 4 
)

Calculate dirac traces over the specified list of representation labels.

The computed trace is a linear functional that is equal to the usual trace only in D = 4 dimensions. In particular, the functional is not always cyclic in D != 4 dimensions when gamma5 is involved.

Parameters:
eExpression to take the trace of
rllList of representation labels
trONEExpression to be returned as the trace of the unit matrix

Definition at line 992 of file clifford.cpp.

ex GiNaC::dirac_trace ( const ex &  e,
unsigned char  rl = 0,
const ex &  trONE = 4 
)

Calculate the trace of an expression containing gamma objects with a specified representation label.

The computed trace is a linear functional that is equal to the usual trace only in D = 4 dimensions. In particular, the functional is not always cyclic in D != 4 dimensions when gamma5 is involved.

Parameters:
eExpression to take the trace of
rlRepresentation label
trONEExpression to be returned as the trace of the unit matrix

Definition at line 1004 of file clifford.cpp.

ex GiNaC::canonicalize_clifford ( const ex &  e)

Bring all products of clifford objects in an expression into a canonical order.

This is not necessarily the most simple form but it will allow to check two expressions for equality.

Definition at line 1014 of file clifford.cpp.

ex GiNaC::clifford_prime ( const ex &  e)

Automorphism of the Clifford algebra, simply changes signs of all clifford units.

Definition at line 1080 of file clifford.cpp.

Referenced by clifford_bar().

ex GiNaC::remove_dirac_ONE ( const ex &  e,
unsigned char  rl = 0,
unsigned  options = 0 
)

Replaces dirac_ONE's (with a representation_label no less than rl) in e with 1.

For the default value rl = 0 remove all of them. Aborts if e contains any clifford_unit with representation_label to be removed.

Parameters:
eExpression to be processed
rlValue of representation label
optionsDefines some internal use

Definition at line 1094 of file clifford.cpp.

int GiNaC::clifford_max_label ( const ex &  e,
bool  ignore_ONE = false 
)

Returns the maximal representation label of a clifford object if e contains at least one, otherwise returns -1.

Parameters:
eExpression to be processed defines if clifford_ONE should be ignored in the search

Definition at line 1135 of file clifford.cpp.

Referenced by GiNaC::add::coeff().

ex GiNaC::clifford_norm ( const ex &  e)

Calculation of the norm in the Clifford algebra.

Definition at line 1150 of file clifford.cpp.

ex GiNaC::clifford_inverse ( const ex &  e)

Calculation of the inverse in the Clifford algebra.

Definition at line 1155 of file clifford.cpp.

ex GiNaC::lst_to_clifford ( const ex &  v,
const ex &  mu,
const ex &  metr,
unsigned char  rl = 0 
)

List or vector conversion into the Clifford vector.

Parameters:
vList or vector of coordinates
muIndex (must be of class varidx or a derived class)
metrMetric (should be indexed, tensmetric or a derived class, or a matrix)
rlRepresentation label
eClifford unit object
Returns:
Clifford vector with given components

Definition at line 1164 of file clifford.cpp.

ex GiNaC::lst_to_clifford ( const ex &  v,
const ex &  e 
)

Definition at line 1172 of file clifford.cpp.

static ex GiNaC::get_clifford_comp ( const ex &  e,
const ex &  c 
) [static]

Auxiliary structure to define a function for striping one Clifford unit from vectors.

Used in clifford_to_lst().

Definition at line 1216 of file clifford.cpp.

lst GiNaC::clifford_to_lst ( const ex &  e,
const ex &  c,
bool  algebraic = true 
)

An inverse function to lst_to_clifford().

For given Clifford vector extracts its components with respect to given Clifford unit. Obtained components may contain Clifford units with a different metric. Extraction is based on the algebraic formula (e * c.i + c.i * e)/ pow(e.i, 2) for non-degenerate cases (i.e. neither pow(e.i, 2) = 0).

Parameters:
eClifford expression to be decomposed into components
cClifford unit defining the metric for splitting (should have numeric dimension of indices)
algebraicUse algebraic or symbolic algorithm for extractions
Returns:
List of components of a Clifford vector

Definition at line 1285 of file clifford.cpp.

ex GiNaC::clifford_moebius_map ( const ex &  a,
const ex &  b,
const ex &  c,
const ex &  d,
const ex &  v,
const ex &  G,
unsigned char  rl = 0 
)

Calculations of Moebius transformations (conformal map) defined by a 2x2 Clifford matrix (a b\c d) in linear spaces with arbitrary signature.

The expression is (a * x + b)/(c * x + d), where x is a vector build from list v with metric G. (see Jan Cnops. An introduction to {D}irac operators on manifolds, v.24 of Progress in Mathematical Physics. Birkhauser Boston Inc., Boston, MA, 2002.)

Parameters:
a(1,1) entry of the defining matrix
b(1,2) entry of the defining matrix
c(2,1) entry of the defining matrix
d(2,2) entry of the defining matrix
vVector to be transformed
GMetric of the surrounding space, may be a Clifford unit then the next parameter is ignored
rlRepresentation label
Returns:
List of components of the transformed vector

Definition at line 1329 of file clifford.cpp.

ex GiNaC::clifford_moebius_map ( const ex &  M,
const ex &  v,
const ex &  G,
unsigned char  rl = 0 
)

The second form of Moebius transformations defined by a 2x2 Clifford matrix M This function takes the transformation matrix M as a single entity.

Parameters:
Mthe defining matrix
vVector to be transformed
GMetric of the surrounding space, may be a Clifford unit then the next parameter is ignored
rlRepresentation label
Returns:
List of components of the transformed vector

Definition at line 1356 of file clifford.cpp.

GiNaC::GINAC_DECLARE_UNARCHIVER ( clifford  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( diracone  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( diracgamma  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( diracgamma5  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( diracgammaL  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( diracgammaR  )
bool GiNaC::is_clifford_tinfo ( const return_type_t &  ti) [inline]

Check whether a given return_type_t object (as returned by return_type_tinfo() is that of a clifford object (with an arbitrary representation label).

Parameters:
titinfo key

Definition at line 192 of file clifford.h.

References GiNaC::return_type_t::tinfo.

Referenced by GiNaC::ncmul::conjugate().

ex GiNaC::clifford_bar ( const ex &  e) [inline]

Main anti-automorphism of the Clifford algebra: makes reversion and changes signs of all clifford units.

Definition at line 285 of file clifford.h.

References clifford_prime(), and GiNaC::ex::conjugate().

ex GiNaC::clifford_star ( const ex &  e) [inline]

Reversion of the Clifford algebra, coincides with the conjugate().

Definition at line 288 of file clifford.h.

References GiNaC::ex::conjugate().

GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT ( su3one  ,
tensor  ,
print_func< print_dflt > &::do_print.print_func< print_latex > &::do_print_latex   
)
GiNaC::print_func< print_dflt > ( &su3t::do_print  )

Definition at line 47 of file color.cpp.

GiNaC::GINAC_BIND_UNARCHIVER ( color  )
GiNaC::GINAC_BIND_UNARCHIVER ( su3one  )
GiNaC::GINAC_BIND_UNARCHIVER ( su3t  )
GiNaC::GINAC_BIND_UNARCHIVER ( su3f  )
GiNaC::GINAC_BIND_UNARCHIVER ( su3d  )
static ex GiNaC::permute_free_index_to_front ( const exvector &  iv3,
const exvector &  iv2,
int &  sig 
) [static]

Given a vector iv3 of three indices and a vector iv2 of two indices that is a subset of iv3, return the (free) index that is in iv3 but not in iv2 and the sign introduced by permuting that index to the front.

Parameters:
iv3Vector of 3 indices
iv2Vector of 2 indices, must be a subset of iv3
sigReturs sign introduced by index permutation
Returns:
the free index (the one that is in iv3 but not in iv2)

Definition at line 200 of file color.cpp.

ex GiNaC::color_ONE ( unsigned char  rl = 0)

Create the su(3) unity element.

This is an indexed object, although it has no indices.

Parameters:
rlRepresentation label
Returns:
newly constructed unity element

Definition at line 477 of file color.cpp.

ex GiNaC::color_T ( const ex &  a,
unsigned char  rl = 0 
)

Create an su(3) generator.

Parameters:
aIndex
rlRepresentation label
Returns:
newly constructed unity generator

Definition at line 483 of file color.cpp.

ex GiNaC::color_f ( const ex &  a,
const ex &  b,
const ex &  c 
)

Create an su(3) antisymmetric structure constant.

Parameters:
aFirst index
bSecond index
cThird index
Returns:
newly constructed structure constant

Definition at line 495 of file color.cpp.

ex GiNaC::color_d ( const ex &  a,
const ex &  b,
const ex &  c 
)

Create an su(3) symmetric structure constant.

Parameters:
aFirst index
bSecond index
cThird index
Returns:
newly constructed structure constant

Definition at line 507 of file color.cpp.

ex GiNaC::color_h ( const ex &  a,
const ex &  b,
const ex &  c 
)

This returns the linear combination d.a.b.c+I*f.a.b.c.

Definition at line 519 of file color.cpp.

static bool GiNaC::is_color_tinfo ( const return_type_t &  ti) [static]

Check whether a given tinfo key (as returned by return_type_tinfo() is that of a color object (with an arbitrary representation label).

Definition at line 526 of file color.cpp.

ex GiNaC::color_trace ( const ex &  e,
const std::set< unsigned char > &  rls 
)

Calculate color traces over the specified set of representation labels.

Parameters:
eExpression to take the trace of
rlsSet of representation labels

Definition at line 538 of file color.cpp.

ex GiNaC::color_trace ( const ex &  e,
const lst &  rll 
)

Calculate color traces over the specified list of representation labels.

Parameters:
eExpression to take the trace of
rllList of representation labels

Definition at line 624 of file color.cpp.

ex GiNaC::color_trace ( const ex &  e,
unsigned char  rl = 0 
)

Calculate the trace of an expression containing color objects with a specified representation label.

Parameters:
eExpression to take the trace of
rlRepresentation label

Definition at line 636 of file color.cpp.

GiNaC::GINAC_DECLARE_UNARCHIVER ( color  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( su3one  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( su3t  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( su3f  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( su3d  )
GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT ( constant  ,
basic  ,
print_func< print_context > &::do_print.print_func< print_latex > &::do_print_latex.print_func< print_tree > &::do_print_tree.print_func< print_python_repr > &::do_print_python_repr   
) const

Definition at line 36 of file constant.cpp.

References GiNaC::status_flags::evaluated, and GiNaC::status_flags::expanded.

GiNaC::GINAC_BIND_UNARCHIVER ( constant  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( constant  )
static unsigned GiNaC::crc32 ( const char *  c,
const unsigned  len,
const unsigned  crcinit 
) [static]

Definition at line 64 of file crc32.h.

References crctab, and len.

bool GiNaC::are_ex_trivially_equal ( const ex &  e1,
const ex &  e2 
) [inline]
std::ostream & GiNaC::operator<< ( std::ostream &  os,
const exvector &  e 
)

Definition at line 353 of file operators.cpp.

References get_print_context().

std::ostream & GiNaC::operator<< ( std::ostream &  os,
const exset &  e 
)

Definition at line 380 of file operators.cpp.

References get_print_context().

std::ostream & GiNaC::operator<< ( std::ostream &  os,
const exmap &  e 
)

Definition at line 407 of file operators.cpp.

References get_print_context().

size_t GiNaC::nops ( const ex &  thisex) [inline]
ex GiNaC::expand ( const ex &  thisex,
unsigned  options = 0 
) [inline]

Definition at line 700 of file ex.h.

References GiNaC::ex::expand(), and options.

Referenced by divide(), divide_in_z(), GiNaC::indexed::expand(), gcd(), prem(), quo(), rem(), and sprem().

ex GiNaC::conjugate ( const ex &  thisex) [inline]

Definition at line 703 of file ex.h.

References GiNaC::ex::conjugate().

Referenced by GiNaC::numeric::conjugate(), and conjugate_evalf().

ex GiNaC::real_part ( const ex &  thisex) [inline]
ex GiNaC::imag_part ( const ex &  thisex) [inline]
bool GiNaC::has ( const ex &  thisex,
const ex &  pattern,
unsigned  options = 0 
) [inline]

Definition at line 712 of file ex.h.

References GiNaC::ex::has(), and options.

Referenced by GiNaC::mul::has().

bool GiNaC::find ( const ex &  thisex,
const ex &  pattern,
exset &  found 
) [inline]

Definition at line 715 of file ex.h.

References GiNaC::ex::find().

Referenced by GiNaC::exhashmap< T, A >::erase().

bool GiNaC::is_polynomial ( const ex &  thisex,
const ex &  vars 
) [inline]

Definition at line 718 of file ex.h.

References GiNaC::ex::is_polynomial().

int GiNaC::degree ( const ex &  thisex,
const ex &  s 
) [inline]

Definition at line 721 of file ex.h.

References GiNaC::ex::degree().

int GiNaC::ldegree ( const ex &  thisex,
const ex &  s 
) [inline]

Definition at line 724 of file ex.h.

References GiNaC::ex::ldegree().

ex GiNaC::coeff ( const ex &  thisex,
const ex &  s,
int  n = 1 
) [inline]

Definition at line 727 of file ex.h.

References GiNaC::ex::coeff(), and n.

Referenced by GiNaC::mul::eval(), log_series(), and simplify_indexed().

ex GiNaC::numer ( const ex &  thisex) [inline]
ex GiNaC::denom ( const ex &  thisex) [inline]
ex GiNaC::numer_denom ( const ex &  thisex) [inline]

Definition at line 736 of file ex.h.

References GiNaC::ex::numer_denom().

Referenced by decomp_rational(), and sqrfree_parfrac().

ex GiNaC::normal ( const ex &  thisex,
int  level = 0 
) [inline]

Definition at line 739 of file ex.h.

References GiNaC::ex::normal().

Referenced by fsolve(), and GiNaC::normal_map_function::operator()().

ex GiNaC::to_rational ( const ex &  thisex,
lst &  repl_lst 
) [inline]

Definition at line 742 of file ex.h.

References GiNaC::ex::to_rational().

ex GiNaC::to_rational ( const ex &  thisex,
exmap &  repl 
) [inline]

Definition at line 745 of file ex.h.

References GiNaC::ex::to_rational().

ex GiNaC::to_polynomial ( const ex &  thisex,
exmap &  repl 
) [inline]

Definition at line 748 of file ex.h.

References GiNaC::ex::to_polynomial().

ex GiNaC::to_polynomial ( const ex &  thisex,
lst &  repl_lst 
) [inline]

Definition at line 751 of file ex.h.

References GiNaC::ex::to_polynomial().

ex GiNaC::collect ( const ex &  thisex,
const ex &  s,
bool  distributed = false 
) [inline]

Definition at line 754 of file ex.h.

References GiNaC::ex::collect().

ex GiNaC::eval ( const ex &  thisex,
int  level = 0 
) [inline]

Definition at line 757 of file ex.h.

References GiNaC::ex::eval().

ex GiNaC::evalf ( const ex &  thisex,
int  level = 0 
) [inline]

Definition at line 760 of file ex.h.

References GiNaC::ex::evalf().

Referenced by beta_eval(), eta_evalf(), H_evalf(), and GiNaC::evalf_map_function::operator()().

ex GiNaC::evalm ( const ex &  thisex) [inline]

Definition at line 763 of file ex.h.

References GiNaC::ex::evalm().

Referenced by GiNaC::evalm_map_function::operator()().

ex GiNaC::eval_integ ( const ex &  thisex) [inline]

Definition at line 766 of file ex.h.

References GiNaC::ex::eval_integ().

Referenced by GiNaC::eval_integ_map_function::operator()().

ex GiNaC::diff ( const ex &  thisex,
const symbol &  s,
unsigned  nth = 1 
) [inline]

Definition at line 769 of file ex.h.

References GiNaC::ex::diff().

Referenced by GiNaC::derivative_map_function::operator()().

ex GiNaC::series ( const ex &  thisex,
const ex &  r,
int  order,
unsigned  options = 0 
) [inline]
bool GiNaC::match ( const ex &  thisex,
const ex &  pattern,
exmap &  repl_lst 
) [inline]

Definition at line 775 of file ex.h.

References GiNaC::ex::match().

ex GiNaC::simplify_indexed ( const ex &  thisex,
unsigned  options = 0 
) [inline]

Definition at line 778 of file ex.h.

References options, and GiNaC::ex::simplify_indexed().

Referenced by simplify_indexed(), and simplify_indexed_product().

ex GiNaC::simplify_indexed ( const ex &  thisex,
const scalar_products &  sp,
unsigned  options = 0 
) [inline]

Definition at line 781 of file ex.h.

References options, and GiNaC::ex::simplify_indexed().

ex GiNaC::symmetrize ( const ex &  thisex) [inline]

Definition at line 784 of file ex.h.

References GiNaC::ex::symmetrize().

Referenced by idx_symmetrization(), symmetrize(), and symmetrize_cyclic().

ex GiNaC::symmetrize ( const ex &  thisex,
const lst &  l 
) [inline]

Definition at line 787 of file ex.h.

References GiNaC::ex::symmetrize().

ex GiNaC::antisymmetrize ( const ex &  thisex) [inline]

Definition at line 790 of file ex.h.

References GiNaC::ex::antisymmetrize().

Referenced by antisymmetrize().

ex GiNaC::antisymmetrize ( const ex &  thisex,
const lst &  l 
) [inline]

Definition at line 793 of file ex.h.

References GiNaC::ex::antisymmetrize().

ex GiNaC::symmetrize_cyclic ( const ex &  thisex) [inline]

Definition at line 796 of file ex.h.

References GiNaC::ex::symmetrize_cyclic().

ex GiNaC::symmetrize_cyclic ( const ex &  thisex,
const lst &  l 
) [inline]

Definition at line 799 of file ex.h.

References GiNaC::ex::symmetrize_cyclic().

ex GiNaC::op ( const ex &  thisex,
size_t  i 
) [inline]

Definition at line 802 of file ex.h.

References GiNaC::ex::op().

Referenced by GiNaC::mul::algebraic_subs_mul(), and GiNaC::mul::do_print_python_repr().

ex GiNaC::lhs ( const ex &  thisex) [inline]

Definition at line 805 of file ex.h.

References GiNaC::ex::lhs().

ex GiNaC::rhs ( const ex &  thisex) [inline]
bool GiNaC::is_zero ( const ex &  thisex) [inline]
void GiNaC::swap ( ex &  e1,
ex &  e2 
) [inline]

Definition at line 814 of file ex.h.

References GiNaC::ex::swap().

Referenced by GiNaC::matrix::pivot().

ex GiNaC::subs ( const ex &  thisex,
const exmap &  m,
unsigned  options = 0 
) [inline]

Definition at line 822 of file ex.h.

References options, and GiNaC::ex::subs().

ex GiNaC::subs ( const ex &  thisex,
const lst &  ls,
const lst &  lr,
unsigned  options = 0 
) [inline]

Definition at line 825 of file ex.h.

References options, and GiNaC::ex::subs().

ex GiNaC::subs ( const ex &  thisex,
const ex &  e,
unsigned  options = 0 
) [inline]

Definition at line 828 of file ex.h.

References options, and GiNaC::ex::subs().

template<class T >
bool GiNaC::is_a ( const ex &  obj) [inline]

Check if ex is a handle to a T, including base classes.

Definition at line 930 of file ex.h.

References GiNaC::ex::bp.

template<class T >
bool GiNaC::is_exactly_a ( const ex &  obj) [inline]

Check if ex is a handle to a T, not including base classes.

Definition at line 937 of file ex.h.

References GiNaC::ex::bp.

template<class T >
const T& GiNaC::ex_to ( const ex &  e) [inline]

Return a reference to the basic-derived class T object embedded in an expression.

This is fast but unsafe: the result is undefined if the expression does not contain a T object at its top level. Hence, you should generally check the type of e first. Also, you shouldn't cache the returned reference because GiNaC's garbage collector may destroy the referenced object any time it's used in another expression.

Parameters:
eexpression
Returns:
reference to object of class T
See also:
is_exactly_a<class T>()

Definition at line 953 of file ex.h.

References GiNaC::ex::bp, and GINAC_ASSERT.

void GiNaC::compile_ex ( const ex &  expr,
const symbol &  sym,
FUNCP_1P &  fp,
const std::string  filename = "" 
)

Takes an expression and produces a function pointer to the compiled and linked C code equivalent in double precision.

The function pointer has type FUNCP_1P.

Parameters:
exprExpression to be compiled
symSymbol from the expression to become the function parameter
fpReturned function pointer
filenameName of the intermediate source code and so-file. If supplied, these intermediate files will not be deleted

Definition at line 313 of file excompiler.cpp.

void GiNaC::compile_ex ( const ex &  expr,
const symbol &  sym1,
const symbol &  sym2,
FUNCP_2P &  fp,
const std::string  filename = "" 
)

Takes an expression and produces a function pointer to the compiled and linked C code equivalent in double precision.

The function pointer has type FUNCP_2P.

Parameters:
exprExpression to be compiled
symSymbol from the expression to become the function parameter
fpReturned function pointer
filenameName of the intermediate source code and so-file. If supplied, these intermediate files will not be deleted

Definition at line 318 of file excompiler.cpp.

void GiNaC::compile_ex ( const lst &  exprs,
const lst &  syms,
FUNCP_CUBA &  fp,
const std::string  filename = "" 
)

Takes an expression and produces a function pointer to the compiled and linked C code equivalent in double precision.

The function pointer has type FUNCP_CUBA.

Parameters:
exprExpression to be compiled
symSymbol from the expression to become the function parameter
fpReturned function pointer
filenameName of the intermediate source code and so-file. If supplied, these intermediate files will not be deleted

Definition at line 323 of file excompiler.cpp.

void GiNaC::link_ex ( const std::string  filename,
FUNCP_1P &  fp 
)

Opens an existing so-file and returns a function pointer of type FUNCP_1P to the contained function.

The so-file has to be generated by compile_ex in advance.

Parameters:
filenameName of the so-file to open and link
fpReturned function pointer

Definition at line 328 of file excompiler.cpp.

void GiNaC::link_ex ( const std::string  filename,
FUNCP_2P &  fp 
)

Opens an existing so-file and returns a function pointer of type FUNCP_2P to the contained function.

The so-file has to be generated by compile_ex in advance.

Parameters:
filenameName of the so-file to open and link
fpReturned function pointer

Definition at line 333 of file excompiler.cpp.

void GiNaC::link_ex ( const std::string  filename,
FUNCP_CUBA &  fp 
)

Opens an existing so-file and returns a function pointer of type FUNCP_CUBA to the contained function.

The so-file has to be generated by compile_ex in advance.

Parameters:
filenameName of the so-file to open and link
fpReturned function pointer

Definition at line 338 of file excompiler.cpp.

void GiNaC::unlink_ex ( const std::string  filename)

Closes all linked .so files that have the supplied filename.

Parameters:
filenameName of the so-file to close

Definition at line 343 of file excompiler.cpp.

void GiNaC::swap ( expair &  e1,
expair &  e2 
) [inline]

Definition at line 111 of file expair.h.

References GiNaC::expair::swap().

void GiNaC::iter_swap ( std::vector< expair >::iterator  i1,
std::vector< expair >::iterator  i2 
) [inline]

Definition at line 115 of file expair.h.

Referenced by permutation_sign().

GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT ( expairseq  ,
basic  ,
print_func< print_context > &::do_print.print_func< print_tree > &::do_print_tree   
)

Definition at line 48 of file expairseq.cpp.

epvector * GiNaC::conjugateepvector ( const epvector &  )

Complex conjugate every element of an epvector.

Returns zero if this does not change anything.

Definition at line 344 of file expairseq.cpp.

References GiNaC::ex::conjugate(), GiNaC::expair::is_equal(), and x.

Referenced by GiNaC::pseries::conjugate(), and GiNaC::expairseq::conjugate().

template<>
GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT_T ( exprseq  ,
basic  ,
print_func< print_context > &::do_print.print_func< print_tree > &::do_print_tree   
)

Specialization of container::info() for exprseq.

Specialization of container::info() for lst.

Definition at line 27 of file exprseq.cpp.

References GiNaC::info_flags::exprseq.

ex GiNaC::factor ( const ex &  poly,
unsigned  options 
)

Interface function to the outside world.

Factorizes univariate and multivariate polynomials.

It checks the arguments, tries a square free factorization, and then calls factor_sqrfree to do the hard work.

The default option is factor_options::polynomial, which means that factor() will only factorize an expression if it is a proper polynomial (i.e. the flag info_flags::polynomial is set). Given the option factor_options::all, factor() will factorize all subexpressions, e.g. polynomials containing functions or polynomials inside function arguments.

Parameters:
[in]polyexpression to factorize
[in]optionoptions to influence the factorization
Returns:
factorized expression

Definition at line 2529 of file factor.cpp.

References GiNaC::container< C >::append(), GiNaC::ex::expand(), GiNaC::ex::info(), GiNaC::ex::nops(), GiNaC::ex::op(), poly, pow(), sqrfree(), and syms.

Referenced by collect_common_factors(), GiNaC::ncmul::eval(), GiNaC::mul::expandchildren(), find_common_factor(), GiNaC::mul::find_real_imag(), GiNaC::mul::info(), GiNaC::mul::series(), and sqrfree_parfrac().

GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT ( fail  ,
basic  ,
print_func< print_context > &::do_print.print_func< print_tree > &::do_print_tree   
)
GiNaC::GINAC_DECLARE_UNARCHIVER ( fail  )
GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT ( fderivative  ,
function  ,
print_func< print_context > &::do_print.print_func< print_csrc > &::do_print_csrc.print_func< print_tree > &::do_print_tree   
)

Definition at line 32 of file fderivative.cpp.

GiNaC::GINAC_BIND_UNARCHIVER ( fderivative  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( fderivative  )
GiNaC::GINAC_BIND_UNARCHIVER ( function  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( function  )
template<typename T >
bool GiNaC::is_the_function ( const ex &  x) [inline]

Definition at line 701 of file function.h.

References x.

static unsigned GiNaC::make_hash_seed ( const std::type_info &  tinfo) [inline, static]
GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT ( idx  ,
basic  ,
print_func< print_context > &::do_print.print_func< print_latex > &::do_print_latex.print_func< print_csrc > &::do_print_csrc.print_func< print_tree > &::do_print_tree   
)
GiNaC::print_func< print_context > ( &varidx::do_print  )

Definition at line 45 of file idx.cpp.

GiNaC::GINAC_BIND_UNARCHIVER ( idx  )
GiNaC::GINAC_BIND_UNARCHIVER ( varidx  )
GiNaC::GINAC_BIND_UNARCHIVER ( spinidx  )
bool GiNaC::is_dummy_pair ( const idx &  i1,
const idx &  i2 
)
bool GiNaC::is_dummy_pair ( const ex &  e1,
const ex &  e2 
)

Check whether two expressions form a dummy index pair.

Definition at line 513 of file idx.cpp.

References is_dummy_pair().

void GiNaC::find_free_and_dummy ( exvector::const_iterator  it,
exvector::const_iterator  itend,
exvector &  out_free,
exvector &  out_dummy 
)

Given a vector of indices, split them into two vectors, one containing the free indices, the other containing the dummy indices (numeric indices are neither free nor dummy ones).

Parameters:
itPointer to start of index vector
itendPointer to end of index vector
out_freeVector of free indices (returned, sorted)
out_dummyVector of dummy indices (returned, sorted)

Definition at line 522 of file idx.cpp.

References is_dummy_pair(), last, and shaker_sort().

Referenced by count_dummy_indices(), count_free_indices(), find_dummy_indices(), find_free_and_dummy(), get_all_dummy_indices_safely(), GiNaC::indexed::get_dummy_indices(), GiNaC::ncmul::get_free_indices(), GiNaC::mul::get_free_indices(), GiNaC::indexed::get_free_indices(), simplify_indexed(), and simplify_indexed_product().

ex GiNaC::minimal_dim ( const ex &  dim1,
const ex &  dim2 
)

Return the minimum of two index dimensions.

If this is undecidable, throw an exception. Numeric dimensions are always considered "smaller" than symbolic dimensions.

Definition at line 562 of file idx.cpp.

References GiNaC::ex::is_equal().

Referenced by simplify_indexed_product().

GiNaC::GINAC_DECLARE_UNARCHIVER ( idx  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( varidx  )
GiNaC::GINAC_DECLARE_UNARCHIVER ( spinidx  )
void GiNaC::find_free_and_dummy ( const exvector &  v,
exvector &  out_free,
exvector &  out_dummy 
) [inline]

Given a vector of indices, split them into two vectors, one containing the free indices, the other containing the dummy indices (numeric indices are neither free nor dummy ones).

Parameters:
vIndex vector
out_freeVector of free indices (returned, sorted)
out_dummyVector of dummy indices (returned, sorted)

Definition at line 239 of file idx.h.

References find_free_and_dummy().

void GiNaC::find_dummy_indices ( const exvector &  v,
exvector &  out_dummy 
) [inline]

Given a vector of indices, find the dummy indices.

Parameters:
vIndex vector
out_dummyVector of dummy indices (returned, sorted)

Definition at line 248 of file idx.h.

References find_free_and_dummy().

Referenced by GiNaC::indexed::get_dummy_indices().

size_t GiNaC::count_dummy_indices ( const exvector &  v) [inline]

Count the number of dummy index pairs in an index vector.

Definition at line 255 of file idx.h.

References find_free_and_dummy().

size_t GiNaC::count_free_indices ( const exvector &  v) [inline]

Count the number of dummy index pairs in an index vector.

Definition at line 263 of file idx.h.

References find_free_and_dummy().

GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT ( indexed  ,
exprseq  ,
print_func< print_context > &::do_print.print_func< print_latex > &::do_print_latex.print_func< print_tree > &::do_print_tree   
)

Definition at line 47 of file indexed.cpp.

GiNaC::GINAC_BIND_UNARCHIVER ( indexed  )
static bool GiNaC::indices_consistent ( const exvector &  v1,
const exvector &  v2 
) [static]

Check whether two sorted index vectors are consistent (i.e.

equal).

Definition at line 423 of file indexed.cpp.

Referenced by GiNaC::add::get_free_indices(), and simplify_indexed().

template<class T >
size_t GiNaC::number_of_type ( const exvector &  v)

Definition at line 532 of file indexed.cpp.

template<class T >
static ex GiNaC::rename_dummy_indices ( const ex &  e,
exvector &  global_dummy_indices,
exvector &  local_dummy_indices 
) [static]

Rename dummy indices in an expression.

Parameters:
eExpression to work on
local_dummy_indicesThe set of dummy indices that appear in the expression "e"
global_dummy_indicesThe set of dummy indices that have appeared before and which we would like to use in "e", too. This gets updated by the function

Definition at line 549 of file indexed.cpp.

References GiNaC::ex::begin(), GINAC_ASSERT, GiNaC::subs_options::no_pattern, shaker_sort(), and GiNaC::ex::subs().

static void GiNaC::find_variant_indices ( const exvector &  v,
exvector &  variant_indices 
) [static]

Given a set of indices, extract those of class varidx.

Definition at line 609 of file indexed.cpp.

Referenced by simplify_indexed(), and simplify_indexed_product().

bool GiNaC::reposition_dummy_indices ( ex &  e,
exvector &  variant_dummy_indices,
exvector &  moved_indices 
)

Raise/lower dummy indices in a single indexed objects to canonicalize their variance.

Parameters:
eObject to work on
variant_dummy_indicesThe set of indices that might need repositioning (will be changed by this function)
moved_indicesThe set of indices that have been repositioned (will be changed by this function)
Returns:
true if 'e' was changed

Definition at line 625 of file indexed.cpp.

References is_dummy_pair(), k, m, GiNaC::subs_options::no_pattern, GiNaC::ex::nops(), GiNaC::ex::op(), and GiNaC::ex::subs().

Referenced by simplify_indexed(), and simplify_indexed_product().

static void GiNaC::product_to_exvector ( const ex &  e,
exvector &  v,
bool &  non_commutative 
) [static]
template<class T >
ex GiNaC::idx_symmetrization ( const ex &  r,
const exvector &  local_dummy_indices 
)

Definition at line 771 of file indexed.cpp.

References GiNaC::ex::nops(), and symmetrize().

ex GiNaC::simplify_indexed ( const ex &  e,
exvector &  free_indices,
exvector &  dummy_indices,
const scalar_products &  sp 
)
ex GiNaC::simplify_indexed_product ( const ex &  e,
exvector &  free_indices,
exvector &  dummy_indices,
const scalar_products &  sp 
)

Simplify product of indexed expressions (commutative, noncommutative and simple squares), return list of free indices.

Definition at line 788 of file indexed.cpp.

References _ex0, _ex1, GiNaC::return_types::commutative, GiNaC::scalar_products::evaluate(), find_free_and_dummy(), find_variant_indices(), GINAC_ASSERT, GiNaC::scalar_products::is_defined(), GiNaC::ex::is_zero(), minimal_dim(), product_to_exvector(), r, reposition_dummy_indices(), and simplify_indexed().

Referenced by simplify_indexed().

bool GiNaC::hasindex ( const ex &  x,
const ex &  sym 
)

Definition at line 1033 of file indexed.cpp.

References GiNaC::ex::nops(), and GiNaC::ex::op().

Referenced by simplify_indexed().

exvector GiNaC::get_all_dummy_indices_safely ( const ex &  e)

More reliable version of the form.

The former assumes that e is an expanded epxression.

Definition at line 1397 of file indexed.cpp.

References find_free_and_dummy(), GiNaC::ex::get_free_indices(), GiNaC::ex::nops(), and GiNaC::ex::op().

Referenced by GiNaC::mul::expand(), GiNaC::make_flat_inserter::handle_factor(), and rename_dummy_indices_uniquely().

exvector GiNaC::get_all_dummy_indices ( const ex &  e)

Returns all dummy indices from the exvector.

Returns all dummy indices from the expression.

Definition at line 1438 of file indexed.cpp.

References product_to_exvector().

Referenced by expand_dummy_sum(), and GiNaC::power::expand_mul().

lst GiNaC::rename_dummy_indices_uniquely ( const exvector &  va,
const exvector &  vb 
)

Similar to above, where va and vb are the same and the return value is a list of two lists for substitution in b.

Definition at line 1463 of file indexed.cpp.

References GiNaC::status_flags::dynallocated, and idx.

Referenced by GiNaC::expairseq::construct_from_2_ex(), GiNaC::ncmul::expand(), GiNaC::mul::expand(), GiNaC::power::expand_mul(), GiNaC::make_flat_inserter::handle_factor(), and rename_dummy_indices_uniquely().

ex GiNaC::rename_dummy_indices_uniquely ( const exvector &  va,
const exvector &  vb,
const ex &  b 
)

Same as above, where va and vb contain the indices of a and b and are sorted.

Definition at line 1501 of file indexed.cpp.

References GiNaC::subs_options::no_index_renaming, GiNaC::subs_options::no_pattern, GiNaC::ex::nops(), GiNaC::container< C >::op(), rename_dummy_indices_uniquely(), and GiNaC::ex::subs().

ex GiNaC::rename_dummy_indices_uniquely ( const ex &  a,
const ex &  b 
)

Returns b with all dummy indices, which are common with a, renamed.

Definition at line 1507 of file indexed.cpp.

References get_all_dummy_indices_safely(), GiNaC::subs_options::no_index_renaming, GiNaC::subs_options::no_pattern, rename_dummy_indices_uniquely(), and GiNaC::ex::subs().

ex GiNaC::rename_dummy_indices_uniquely ( exvector &  va,
const ex &  b,
bool  modify_va 
)

Returns b with all dummy indices, which are listed in va, renamed if modify_va is set to TRUE all dummy indices of b will be appended to va.

Definition at line 1523 of file indexed.cpp.

References get_all_dummy_indices_safely(), GiNaC::subs_options::no_index_renaming, GiNaC::subs_options::no_pattern, rename_dummy_indices_uniquely(), and GiNaC::ex::subs().

ex GiNaC::expand_dummy_sum ( const ex &  e,
bool  subs_idx = false 
)

This function returns the given expression with expanded sums for all dummy index summations, where the dimensionality of the dummy index is a nonnegative integer.

Optionally all indices with a variance will be substituted by indices with the corresponding numeric values without variance.

Parameters:
ethe given expression
subs_idxindicates if variance of dummy indixes should be neglected

Definition at line 1550 of file indexed.cpp.

References GiNaC::ex::expand(), get_all_dummy_indices(), idx, GiNaC::ex::map(), GiNaC::info_flags::nonnegint, GiNaC::ex::op(), GiNaC::ex::subs(), and to_int().

GiNaC::GINAC_DECLARE_UNARCHIVER ( indexed  )
static ex GiNaC::conjugate_evalf ( const ex &  arg) [static]

Definition at line 46 of file inifcns.cpp.

References conjugate().

static ex GiNaC::conjugate_eval ( const ex &  arg) [static]

Definition at line 54 of file inifcns.cpp.

References GiNaC::ex::conjugate().

static void GiNaC::conjugate_print_latex ( const ex &  arg,
const print_context &  c 
) [static]

Definition at line 59 of file inifcns.cpp.

References GiNaC::ex::print(), and GiNaC::print_context::s.

static ex GiNaC::conjugate_conjugate ( const ex &  arg) [static]

Definition at line 64 of file inifcns.cpp.

static ex GiNaC::conjugate_real_part ( const ex &  arg) [static]

Definition at line 69 of file inifcns.cpp.

References GiNaC::ex::real_part().

static ex GiNaC::conjugate_imag_part ( const ex &  arg) [static]

Definition at line 74 of file inifcns.cpp.

References GiNaC::ex::imag_part().

GiNaC::REGISTER_FUNCTION ( conjugate_function  ,
eval_func(conjugate_eval).evalf_func(conjugate_evalf).print_func< print_latex >(conjugate_print_latex).conjugate_func(conjugate_conjugate).real_part_func(conjugate_real_part).imag_part_func(conjugate_imag_part).set_name("conjugate","conjugate")   
)
static ex GiNaC::real_part_evalf ( const ex &  arg) [static]

Definition at line 91 of file inifcns.cpp.

References real().

static ex GiNaC::real_part_eval ( const ex &  arg) [static]

Definition at line 99 of file inifcns.cpp.

References GiNaC::ex::real_part().

static void GiNaC::real_part_print_latex ( const ex &  arg,
const print_context &  c 
) [static]

Definition at line 104 of file inifcns.cpp.

References GiNaC::ex::print(), and GiNaC::print_context::s.

static ex GiNaC::real_part_conjugate ( const ex &  arg) [static]

Definition at line 109 of file inifcns.cpp.

static ex GiNaC::real_part_real_part ( const ex &  arg) [static]

Definition at line 114 of file inifcns.cpp.

static ex GiNaC::real_part_imag_part ( const ex &  arg) [static]

Definition at line 119 of file inifcns.cpp.

GiNaC::REGISTER_FUNCTION ( real_part_function  ,
eval_func(real_part_eval).evalf_func(real_part_evalf).print_func< print_latex >(real_part_print_latex).conjugate_func(real_part_conjugate).real_part_func(real_part_real_part).imag_part_func(real_part_imag_part).set_name("real_part","real_part")   
)
static ex GiNaC::imag_part_evalf ( const ex &  arg) [static]

Definition at line 136 of file inifcns.cpp.

References imag().

static ex GiNaC::imag_part_eval ( const ex &  arg) [static]

Definition at line 144 of file inifcns.cpp.

References GiNaC::ex::imag_part().

static void GiNaC::imag_part_print_latex ( const ex &  arg,
const print_context &  c 
) [static]

Definition at line 149 of file inifcns.cpp.

References GiNaC::ex::print(), and GiNaC::print_context::s.

static ex GiNaC::imag_part_conjugate ( const ex &  arg) [static]

Definition at line 154 of file inifcns.cpp.

static ex GiNaC::imag_part_real_part ( const ex &  arg) [static]

Definition at line 159 of file inifcns.cpp.

static ex GiNaC::imag_part_imag_part ( const ex &  arg) [static]

Definition at line 164 of file inifcns.cpp.

GiNaC::REGISTER_FUNCTION ( imag_part_function  ,
eval_func(imag_part_eval).evalf_func(imag_part_evalf).print_func< print_latex >(imag_part_print_latex).conjugate_func(imag_part_conjugate).real_part_func(imag_part_real_part).imag_part_func(imag_part_imag_part).set_name("imag_part","imag_part")   
)
static ex GiNaC::abs_evalf ( const ex &  arg) [static]

Definition at line 181 of file inifcns.cpp.

References abs(), and GiNaC::basic::hold().

static ex GiNaC::abs_eval ( const ex &  arg) [static]
static void GiNaC::abs_print_latex ( const ex &  arg,
const print_context &  c 
) [static]

Definition at line 203 of file inifcns.cpp.

References GiNaC::ex::print(), and GiNaC::print_context::s.

static void GiNaC::abs_print_csrc_float ( const ex &  arg,
const print_context &  c 
) [static]

Definition at line 208 of file inifcns.cpp.

References GiNaC::ex::print(), and GiNaC::print_context::s.

static ex GiNaC::abs_conjugate ( const ex &  arg) [static]

Definition at line 213 of file inifcns.cpp.

References abs().

static ex GiNaC::abs_real_part ( const ex &  arg) [static]

Definition at line 218 of file inifcns.cpp.

References abs(), and GiNaC::basic::hold().

static ex GiNaC::abs_imag_part ( const ex &  arg) [static]

Definition at line 223 of file inifcns.cpp.

static ex GiNaC::abs_power ( const ex &  arg,
const ex &  exp 
) [static]
GiNaC::REGISTER_FUNCTION ( abs  ,
eval_func(abs_eval).evalf_func(abs_evalf).print_func< print_latex >(abs_print_latex).print_func< print_csrc_float >(abs_print_csrc_float).print_func< print_csrc_double >(abs_print_csrc_float).conjugate_func(abs_conjugate).real_part_func(abs_real_part).imag_part_func(abs_imag_part).power_func(abs_power)   
)
static ex GiNaC::step_evalf ( const ex &  arg) [static]

Definition at line 250 of file inifcns.cpp.

References GiNaC::basic::hold(), and step().

static ex GiNaC::step_eval ( const ex &  arg) [static]
static ex GiNaC::step_series ( const ex &  arg,
const relational &  rel,
int  order,
unsigned  options 
) [static]
static ex GiNaC::step_conjugate ( const ex &  arg) [static]

Definition at line 303 of file inifcns.cpp.

References GiNaC::basic::hold(), and step().

static ex GiNaC::step_real_part ( const ex &  arg) [static]

Definition at line 308 of file inifcns.cpp.

References GiNaC::basic::hold(), and step().

static ex GiNaC::step_imag_part ( const ex &  arg) [static]

Definition at line 313 of file inifcns.cpp.

GiNaC::REGISTER_FUNCTION ( step  ,
eval_func(step_eval).evalf_func(step_evalf).series_func(step_series).conjugate_func(step_conjugate).real_part_func(step_real_part).imag_part_func(step_imag_part)   
)
static ex GiNaC::csgn_evalf ( const ex &  arg) [static]

Definition at line 329 of file inifcns.cpp.

References csgn().

static ex GiNaC::csgn_eval ( const ex &  arg) [static]
static ex GiNaC::csgn_series ( const ex &  arg,
const relational &  rel,
int  order,
unsigned  options 
) [static]
static ex GiNaC::csgn_conjugate ( const ex &  arg) [static]

Definition at line 382 of file inifcns.cpp.

References csgn().