]> www.ginac.de Git - ginac.git/blobdiff - ginac/clifford.h
Added complex conjugation methods and GiNaC function "conjugate".
[ginac.git] / ginac / clifford.h
index eebe5e1f5ac34ba16811505606e791872b61b5d1..7d6cc80e0240bc4415ac282af7cd70e3336d56be 100644 (file)
@@ -3,7 +3,7 @@
  *  Interface to GiNaC's clifford algebra (Dirac gamma) objects. */
 
 /*
- *  GiNaC Copyright (C) 1999-2003 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2004 Johannes Gutenberg University Mainz, Germany
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -45,14 +45,14 @@ public:
 
        // internal constructors
        clifford(unsigned char rl, const exvector & v, bool discardable = false);
-       clifford(unsigned char rl, exvector * vp); // vp will be deleted
+       clifford(unsigned char rl, std::auto_ptr<exvector> vp);
 
        // functions overriding virtual functions from base classes
 protected:
        ex eval_ncmul(const exvector & v) const;
        bool match_same_type(const basic & other) const;
        ex thiscontainer(const exvector & v) const;
-       ex thiscontainer(exvector * vp) const;
+       ex thiscontainer(std::auto_ptr<exvector> vp) const;
        unsigned return_type() const { return return_types::noncommutative; }
        unsigned return_type_tinfo() const { return TINFO_clifford + representation_label; }
 
@@ -104,6 +104,9 @@ class diracgamma5 : public tensor
 {
        GINAC_DECLARE_REGISTERED_CLASS(diracgamma5, tensor)
 
+       // functions overriding virtual functions from base classes
+       ex conjugate() const;
+
        // non-virtual functions in this class
 protected:
        void do_print(const print_context & c, unsigned level) const;
@@ -117,6 +120,9 @@ class diracgammaL : public tensor
 {
        GINAC_DECLARE_REGISTERED_CLASS(diracgammaL, tensor)
 
+       // functions overriding virtual functions from base classes
+       ex conjugate() const;
+
        // non-virtual functions in this class
 protected:
        void do_print(const print_context & c, unsigned level) const;
@@ -130,6 +136,9 @@ class diracgammaR : public tensor
 {
        GINAC_DECLARE_REGISTERED_CLASS(diracgammaR, tensor)
 
+       // functions overriding virtual functions from base classes
+       ex conjugate() const;
+
        // non-virtual functions in this class
 protected:
        void do_print(const print_context & c, unsigned level) const;
@@ -178,6 +187,7 @@ ex dirac_gammaR(unsigned char rl = 0);
 
 /** Create a term of the form e_mu * gamma~mu with a unique index mu.
  *
+ *  @param e Original expression
  *  @param dim Dimension of index
  *  @param rl Representation label */
 ex dirac_slash(const ex & e, const ex & dim, unsigned char rl = 0);