X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Ftensor.h;h=b077ee4d0c927d8e459250bb0092773b8c876163;hp=65c86c45bd5c703407980f390683f2a017f57a92;hb=43e0a8f5ca5e1c48cef5daaf014acdbca4e44568;hpb=fd097c33e414f72c77376ae7ad4fbd630b3ccce6 diff --git a/ginac/tensor.h b/ginac/tensor.h index 65c86c45..b077ee4d 100644 --- a/ginac/tensor.h +++ b/ginac/tensor.h @@ -53,7 +53,7 @@ class tensdelta : public tensor // functions overriding virtual functions from bases classes public: - void print(std::ostream & os, unsigned upper_precedence=0) const; + void print(const print_context & c, unsigned level = 0) const; ex eval_indexed(const basic & i) const; bool contract_with(exvector::iterator self, exvector::iterator other, exvector & v) const; }; @@ -68,7 +68,7 @@ class tensmetric : public tensor // functions overriding virtual functions from bases classes public: - void print(std::ostream & os, unsigned upper_precedence=0) const; + void print(const print_context & c, unsigned level = 0) const; ex eval_indexed(const basic & i) const; bool contract_with(exvector::iterator self, exvector::iterator other, exvector & v) const; }; @@ -88,7 +88,7 @@ public: // functions overriding virtual functions from bases classes public: - void print(std::ostream & os, unsigned upper_precedence=0) const; + void print(const print_context & c, unsigned level = 0) const; ex eval_indexed(const basic & i) const; // member variables @@ -110,7 +110,7 @@ public: // functions overriding virtual functions from bases classes public: - void print(std::ostream & os, unsigned upper_precedence=0) const; + void print(const print_context & c, unsigned level = 0) const; ex eval_indexed(const basic & i) const; // member variables @@ -183,6 +183,18 @@ ex epsilon_tensor(const ex & i1, const ex & i2, const ex & i3); * @return newly constructed epsilon tensor */ ex lorentz_eps(const ex & i1, const ex & i2, const ex & i3, const ex & i4, bool pos_sig = false); +/** Create an epsilon tensor in a 4-dimensional projection of a D-dimensional + * Minkowski space. It vanishes whenever one of the indices is not in the + * set {0, 1, 2, 3}. + * + * @param i1 First index + * @param i2 Second index + * @param i3 Third index + * @param i4 Fourth index + * @param pos_sig Whether the signature of the metric is positive + * @return newly constructed epsilon tensor */ +ex eps0123(const ex & i1, const ex & i2, const ex & i3, const ex & i4, bool pos_sig = false); + } // namespace GiNaC #endif // ndef __GINAC_TENSOR_H__