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"
12 
13 namespace cadabra {
14 
15  class Derivative :
16  public IndexInherit,
17  public TableauInherit,
18  public DependsInherit,
19  public Inherit<SortOrder>,
20  public CommutingAsProduct,
21  public NumericalFlat,
22  public WeightBase,
23 // virtual public TableauBase,
24  public Distributable, virtual public property {
25  public :
26  virtual ~Derivative() {};
27  virtual std::string name() const override;
28 
29  virtual unsigned int size(const Properties&, Ex&, Ex::iterator) const override;
30  virtual tab_t get_tab(const Properties&, Ex&, Ex::iterator, unsigned int) const override;
31  virtual multiplier_t value(const Kernel&, Ex::iterator, const std::string& forcedlabel) const override;
32  virtual bool parse(Kernel&, std::shared_ptr<Ex>, keyval_t& keyvals) override;
33  virtual std::string unnamed_argument() const override
34  {
35  return "to";
36  };
37 
39  };
40 
41  }
Definition: IndexInherit.hh:9
Definition: WeightBase.hh:8
Property indicating that an operator is numerically flat, so that numerical factors in the argument c...
Definition: NumericalFlat.hh:11
Ex with_respect_to
Definition: Derivative.hh:36
virtual ~Derivative()
Definition: Derivative.hh:26
virtual unsigned int size(const Properties &, Ex &, Ex::iterator) const override
Definition: Derivative.cc:45
Definition: Kernel.hh:15
Basic storage class for symbolic mathemematical expressions.
Definition: Storage.hh:141
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
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
virtual bool parse(Kernel &, std::shared_ptr< Ex >, keyval_t &keyvals) override
Definition: Derivative.cc:8
Property which makes a node inherit the TableauBase properties of child nodes.
Definition: TableauInherit.hh:14
virtual std::string name() const override
Definition: Derivative.cc:40
Functions to handle the exchange properties of two or more symbols in a product.
Definition: Adjform.cc:83
virtual std::string unnamed_argument() const override
Definition: Derivative.hh:33
virtual tab_t get_tab(const Properties &, Ex &, Ex::iterator, unsigned int) const override
Definition: Derivative.cc:51
mpq_class multiplier_t
Definition: Storage.hh:38
virtual multiplier_t value(const Kernel &, Ex::iterator, const std::string &forcedlabel) const override
Definition: Derivative.cc:20
Definition: DependsInherit.hh:10
Definition: CommutingAsProduct.hh:8
Class holding a collection of properties attached to expressions.
Definition: Props.hh:234
Definition: Distributable.hh:8
Definition: Derivative.hh:15