23 #ifndef GINAC_TENSOR_H 24 #define GINAC_TENSOR_H 59 bool info(
unsigned inf)
const override;
82 bool info(
unsigned inf)
const override;
109 bool info(
unsigned inf)
const override;
141 bool info(
unsigned inf)
const override;
165 bool info(
unsigned inf)
const override;
260 #endif // ndef GINAC_TENSOR_H void read_archive(const archive_node &n, lst &syms) override
Read (a.k.a.
unsigned return_type() const override
This class represents a Minkowski metric tensor.
ex metric_tensor(const ex &i1, const ex &i2)
Create a symmetric metric tensor with specified indices.
This class represents a general metric tensor which can be used to raise/lower indices.
void read_archive(const archive_node &n, lst &syms) override
Read (a.k.a.
unsigned return_type() const override
bool minkowski
If true, tensor is in Minkowski-type space.
Archiving of GiNaC expressions.
This class is the ABC (abstract base class) of GiNaC's class hierarchy.
This class holds one of GiNaC's predefined special tensors such as the delta and the metric tensors...
minkmetric(bool pos_sig)
Construct Lorentz metric tensor with given signature.
void do_print_latex(const print_latex &c, unsigned level) const
ex lorentz_eps(const ex &i1, const ex &i2, const ex &i3, const ex &i4, bool pos_sig)
Create an epsilon tensor in a Minkowski space with four indices.
ex eval_indexed(const basic &i) const override
Automatic symbolic evaluation of an indexed metric tensor.
bool contract_with(exvector::iterator self, exvector::iterator other, exvector &v) const override
Contraction of an indexed metric tensor with something else.
ex eval_indexed(const basic &i) const override
Automatic symbolic evaluation of an indexed epsilon tensor.
ex eval_indexed(const basic &i) const override
Automatic symbolic evaluation of an indexed metric tensor.
Context for latex-parsable output.
bool info(unsigned inf) const override
Information about the object.
unsigned return_type() const override
This class represents an antisymmetric spinor metric tensor which can be used to raise/lower indices ...
ex epsilon_tensor(const ex &i1, const ex &i2)
Create an epsilon tensor in a Euclidean space with two indices.
bool pos_sig
If true, the metric is diag(-1,1,1...).
void do_print(const print_context &c, unsigned level) const
std::vector< ex > exvector
tensepsilon(bool minkowski, bool pos_sig)
void do_print(const print_context &c, unsigned level) const
ex eval_indexed(const basic &i) const override
Automatic symbolic evaluation of an indexed delta tensor.
void archive(archive_node &n) const override
Save (a.k.a.
ex spinor_metric(const ex &i1, const ex &i2)
Create a spinor metric tensor with specified indices.
void do_print(const print_context &c, unsigned level) const
bool pos_sig
If true, the metric is assumed to be diag(-1,1,1...).
Interface to GiNaC's light-weight expression handles.
Base class for print_contexts.
void do_print(const print_context &c, unsigned level) const
unsigned return_type() const override
This class represents the totally antisymmetric epsilon tensor.
This class represents the delta tensor.
ex delta_tensor(const ex &i1, const ex &i2)
Create a delta tensor with specified indices.
void do_print(const print_context &c, unsigned level) const
void archive(archive_node &n) const override
Save (a.k.a.
bool info(unsigned inf) const override
Information about the object.
This class stores all properties needed to record/retrieve the state of one object of class basic (or...
Lightweight wrapper for GiNaC's symbolic objects.
void do_print_latex(const print_latex &c, unsigned level) const
void do_print_latex(const print_latex &c, unsigned level) const
ex lorentz_g(const ex &i1, const ex &i2, bool pos_sig)
Create a Minkowski metric tensor with specified indices.
Wrapper template for making GiNaC classes out of STL containers.
#define GINAC_DECLARE_REGISTERED_CLASS(classname, supername)
Macro for inclusion in the declaration of each registered class.
bool contract_with(exvector::iterator self, exvector::iterator other, exvector &v) const override
Contraction of epsilon tensor with something else.
bool info(unsigned inf) const override
Information about the object.
GINAC_DECLARE_UNARCHIVER(add)
bool info(unsigned inf) const override
Information about the object.
bool info(unsigned inf) const override
Information about the object.
unsigned return_type() const override
void do_print_latex(const print_latex &c, unsigned level) const
bool contract_with(exvector::iterator self, exvector::iterator other, exvector &v) const override
Contraction of an indexed spinor metric with something else.
bool replace_contr_index(exvector::iterator self, exvector::iterator other) const
Replace dummy index in contracted-with object by the contracting object's second index (used internal...
ex eval_indexed(const basic &i) const override
Automatic symbolic evaluation of an indexed Lorentz metric tensor.
bool contract_with(exvector::iterator self, exvector::iterator other, exvector &v) const override
Contraction of an indexed delta tensor with something else.