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<Spinor>,
20  public Inherit<SortOrder>,
21  public CommutingAsProduct,
22  public NumericalFlat,
23  public WeightBase,
24 // virtual public TableauBase,
25  public Distributable, virtual public property {
26  public :
27  virtual ~Derivative() {};
28  virtual std::string name() const override;
29 
30  virtual unsigned int size(const Properties&, Ex&, Ex::iterator) const override;
31  virtual tab_t get_tab(const Properties&, Ex&, Ex::iterator, unsigned int) const override;
32  virtual multiplier_t value(const Kernel&, Ex::iterator, const std::string& forcedlabel) const override;
33  virtual bool parse(Kernel&, std::shared_ptr<Ex>, keyval_t& keyvals) override;
34  virtual std::string unnamed_argument() const override
35  {
36  return "to";
37  };
38 
40  };
41 
42  }
TableauInherit.hh
cadabra::Derivative::name
virtual std::string name() const override
Definition: Derivative.cc:40
cadabra::IndexInherit
Definition: IndexInherit.hh:9
cadabra::Kernel
Definition: Kernel.hh:14
cadabra::Derivative::with_respect_to
Ex with_respect_to
Definition: Derivative.hh:37
cadabra::Derivative::value
virtual multiplier_t value(const Kernel &, Ex::iterator, const std::string &forcedlabel) const override
Definition: Derivative.cc:20
cadabra::DependsInherit
Definition: DependsInherit.hh:10
cadabra::Distributable
Definition: Distributable.hh:8
SortOrder.hh
WeightBase.hh
cadabra::Derivative::~Derivative
virtual ~Derivative()
Definition: Derivative.hh:27
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
cadabra::NumericalFlat
Property indicating that an operator is numerically flat, so that numerical factors in the argument c...
Definition: NumericalFlat.hh:11
Distributable.hh
cadabra::TableauInherit
Definition: TableauInherit.hh:9
IndexInherit.hh
cadabra::property
Base class for all properties, handling argument parsing and defining the interface.
Definition: Props.hh:126
cadabra::Derivative
Definition: Derivative.hh:25
yngtab::filled_tableau< unsigned int >
cadabra::Derivative::get_tab
virtual tab_t get_tab(const Properties &, Ex &, Ex::iterator, unsigned int) const override
Definition: Derivative.cc:51
cadabra::Ex
Basic storage class for symbolic mathemematical expressions.
Definition: Storage.hh:140
cadabra::Derivative::unnamed_argument
virtual std::string unnamed_argument() const override
Definition: Derivative.hh:34
cadabra::CommutingAsProduct
Definition: CommutingAsProduct.hh:8
cadabra::Derivative::size
virtual unsigned int size(const Properties &, Ex &, Ex::iterator) const override
Definition: Derivative.cc:45
cadabra
Functions to handle the exchange properties of two or more symbols in a product.
Definition: Adjform.cc:80
DependsInherit.hh
cadabra::Derivative::parse
virtual bool parse(Kernel &, std::shared_ptr< Ex >, keyval_t &keyvals) override
Definition: Derivative.cc:8
cadabra::Properties
Class holding a collection of properties attached to expressions.
Definition: Props.hh:233
cadabra::multiplier_t
mpq_class multiplier_t
Definition: Storage.hh:38
CommutingAsProduct.hh
NumericalFlat.hh
cadabra::keyval_t
Arguments to properties get parsed into a keyval_t structure.
Definition: Props.hh:67
cadabra::WeightBase
Definition: WeightBase.hh:8