Cadabra
Computer algebra system for field theory problems
Derivative.hh
Go to the documentation of this file.
1 
2 #pragma once
3 
11 #include "properties/SortOrder.hh"
13 
14 namespace cadabra {
15 
16  class Derivative :
17  public IndexInherit,
18  public TableauInherit,
19  public DependsInherit,
20  public Inherit<SortOrder>,
21  public Inherit<SelfCommutingBehaviour>,
22  public CommutingAsProduct,
23  public NumericalFlat,
24  public WeightBase,
25 // virtual public TableauBase,
26  public Distributable, virtual public property {
27  public :
28  virtual ~Derivative() {};
29  virtual std::string name() const override;
30 
31  virtual unsigned int size(const Properties&, Ex&, Ex::iterator) const override;
32  virtual tab_t get_tab(const Properties&, Ex&, Ex::iterator, unsigned int) const override;
33  virtual multiplier_t value(const Kernel&, Ex::iterator, const std::string& forcedlabel) const override;
34  virtual bool parse(Kernel&, std::shared_ptr<Ex>, keyval_t& keyvals) override;
35  virtual std::string unnamed_argument() const override
36  {
37  return "to";
38  };
39 
41  };
42 
43  }
Definition: CommutingAsProduct.hh:8
Definition: DependsInherit.hh:10
Definition: Derivative.hh:26
Ex with_respect_to
Definition: Derivative.hh:38
virtual std::string unnamed_argument() const override
Definition: Derivative.hh:35
virtual multiplier_t value(const Kernel &, Ex::iterator, const std::string &forcedlabel) const override
Definition: Derivative.cc:20
virtual bool parse(Kernel &, std::shared_ptr< Ex >, keyval_t &keyvals) override
Definition: Derivative.cc:8
virtual std::string name() const override
Definition: Derivative.cc:40
virtual ~Derivative()
Definition: Derivative.hh:28
virtual tab_t get_tab(const Properties &, Ex &, Ex::iterator, unsigned int) const override
Definition: Derivative.cc:51
virtual unsigned int size(const Properties &, Ex &, Ex::iterator) const override
Definition: Derivative.cc:45
Definition: Distributable.hh:8
Basic storage class for symbolic mathemematical expressions.
Definition: Storage.hh:142
Definition: IndexInherit.hh:9
If a property X derives from Inherit<Y>, and get<Y> is called on an object which has an X property (b...
Definition: Props.hh:204
Definition: Kernel.hh:15
Property indicating that an operator is numerically flat, so that numerical factors in the argument c...
Definition: NumericalFlat.hh:11
Class holding a collection of properties attached to expressions.
Definition: Props.hh:234
Property which makes a node inherit the TableauBase properties of child nodes.
Definition: TableauInherit.hh:14
Definition: WeightBase.hh:8
Arguments to properties get parsed into a keyval_t structure.
Definition: Props.hh:68
Base class for all properties, handling argument parsing and defining the interface.
Definition: Props.hh:127
Functions to handle the exchange properties of two or more symbols in a product.
Definition: Adjform.cc:83
mpq_class multiplier_t
Definition: Storage.hh:38