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  }
cadabra::Derivative::name
virtual std::string name() const override
Definition: Derivative.cc:40
IndexInherit.hh
cadabra::Distributable
Definition: Distributable.hh:8
cadabra::Derivative::value
virtual multiplier_t value(const Kernel &, Ex::iterator, const std::string &forcedlabel) const override
Definition: Derivative.cc:20
cadabra::Derivative::get_tab
virtual tab_t get_tab(const Properties &, Ex &, Ex::iterator, unsigned int) const override
Definition: Derivative.cc:51
cadabra::Kernel
Definition: Kernel.hh:15
DependsInherit.hh
WeightBase.hh
cadabra::Properties
Definition: Props.hh:233
CommutingAsProduct.hh
cadabra::CommutingAsProduct
Definition: CommutingAsProduct.hh:8
NumericalFlat.hh
cadabra::Derivative::size
virtual unsigned int size(const Properties &, Ex &, Ex::iterator) const override
Definition: Derivative.cc:45
cadabra::NumericalFlat
Property indicating that an operator is numerically flat, so that numerical factors in the argument c...
Definition: NumericalFlat.hh:11
cadabra::property
FIXME: the above two need to be merged, because parse may need access to the actual pattern tree,...
Definition: Props.hh:126
cadabra::WeightBase
Definition: WeightBase.hh:8
cadabra::Inherit
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:203
yngtab::filled_tableau< unsigned int >
Distributable.hh
cadabra::Derivative::with_respect_to
Ex with_respect_to
Definition: Derivative.hh:36
cadabra::TableauInherit
Property which makes a node inherit the TableauBase properties of child nodes.
Definition: TableauInherit.hh:14
cadabra
Functions to handle the exchange properties of two or more symbols in a product.
Definition: Adjform.cc:83
cadabra::Ex
Definition: Storage.hh:140
cadabra::Derivative
Definition: Derivative.hh:15
cadabra::multiplier_t
mpq_class multiplier_t
Definition: Storage.hh:38
cadabra::Derivative::~Derivative
virtual ~Derivative()
Definition: Derivative.hh:26
cadabra::keyval_t
Arguments to properties get parsed into a keyval_t structure.
Definition: Props.hh:67
cadabra::Derivative::parse
virtual bool parse(Kernel &, std::shared_ptr< Ex >, keyval_t &keyvals) override
Definition: Derivative.cc:8
TableauInherit.hh
cadabra::IndexInherit
Definition: IndexInherit.hh:9
cadabra::Derivative::unnamed_argument
virtual std::string unnamed_argument() const override
Definition: Derivative.hh:33
SortOrder.hh
cadabra::DependsInherit
Definition: DependsInherit.hh:10