Hi, I started looking at GiNaC only recenty, so forgive me if my question is too naive. I'm wondering if it is possible to define Dirac spinors in the context of Clifford objects, such that they can appear in chains of dirac_gammas. The only property I need at the moment is that dirac_spinor and dirac_gamma do not commute, such that for example dirac_gamma(j)*dirac_gamma(j.togglevariance)*dirac_spinor(p1)*dirac_gamma(i)*dirac_gamma(i.togglevariance)*dirac_spinor(p2)*dirac_gamma(j) will get simplified to 16 dirac_spinor(p1)*dirac_spinor(p2)*dirac_gamma(j) Cheers, Vladyslav
Dear Vladyslav,
On Thu, 14 Aug 2014 16:14:07 +0200, Vladyslav Shtabovenko <v.shtabovenko@tum.de> said: VCh> I'm wondering if it is possible to define Dirac spinors in the VCh> context of Clifford objects,
Look section "4.15.1.2 A generic Clifford algebra" of the tutorial, this may provide the functionality which you are looking for. Best wishes, Vladimir -- Vladimir V. Kisil email: kisilv@maths.leeds.ac.uk www: http://www.maths.leeds.ac.uk/~kisilv/ Book: Geometry of Mobius Transformations http://www.worldscientific.com/worldscibooks/10.1142/p835
Dear Vladimir, thanks for your suggestion. I had a closer look at the clifford class, and my original idea was to use a clifford unit object as a dummy representation of a spinor. However, this doesn't seem to be possible since the eval_ncmul function assumes that all clifford objects anitcommute (see line 550 in clifford.cpp) with dirac_gamma5. On the other hand, all objects that do not belong to the clifford class do commute with the gamma matrices, such that there seems to be no way to define a spinor object that a) doesn't commute with any of the gammas b) doesn't anticommute with dirac_gamma5 Any ideas? Cheers, Vladyslav On 14/08/14 19:36, Vladimir V. Kisil wrote:
Dear Vladyslav,
On Thu, 14 Aug 2014 16:14:07 +0200, Vladyslav Shtabovenko <v.shtabovenko@tum.de> said: VCh> I'm wondering if it is possible to define Dirac spinors in the VCh> context of Clifford objects,
Look section "4.15.1.2 A generic Clifford algebra" of the tutorial, this may provide the functionality which you are looking for.
Best wishes, Vladimir
Dear Vladislav,
On Wed, 27 Aug 2014 17:12:23 +0200, Vladyslav Shtabovenko <v.shtabovenko@tum.de> said: VSh> However, this doesn't seem to be possible since the eval_ncmul
That is true, if you are going to use precooked Dirac gammas. However, the clifford class has the member int commutator_sign; /**< It is the sign in the definition e~i e~j +/- e~j e~i = B(i, j) + B(j, i)*/ This allows to implement either commuting rules or anti-commuting rules for a particular clifford object. In particular, some while ago I have experimented with a Lie algebra implementation as a clifford object of GiNaC (the code is available on request). Also, clifford objects with different representation labels simply commute. This combination gives a significant freedom for implementing various algebraic rules. However, if this is still not sufficient you may derive something from clifford class adding something more involved than int for the commutator_sign. Best wishes, Vladimir -- Vladimir V. Kisil email: kisilv@maths.leeds.ac.uk www: http://www.maths.leeds.ac.uk/~kisilv/ Book: Geometry of Mobius Transformations http://www.worldscientific.com/worldscibooks/10.1142/p835
Dear Vladimir,
However, if this is still not sufficient you may derive something from clifford class adding something more involved than int for the commutator_sign.
thanks, this makes sense. I guess this is what one has to do at the end if one wants to implement new things in the handling of Dirac algebra. Apart from spinors, one could also add a non-naive renormalization scheme for Dirac gamma^5, where the anitcommutator of {g^5,g^mu} is non-zero in D-dimensions. However, this would be a rather formidable undertaking ... Cheers, Vladyslav On 27/08/14 18:53, Vladimir V. Kisil wrote:
Dear Vladislav,
On Wed, 27 Aug 2014 17:12:23 +0200, Vladyslav Shtabovenko <v.shtabovenko@tum.de> said: VSh> However, this doesn't seem to be possible since the eval_ncmul
That is true, if you are going to use precooked Dirac gammas. However, the clifford class has the member
int commutator_sign; /**< It is the sign in the definition e~i e~j +/- e~j e~i = B(i, j) + B(j, i)*/
This allows to implement either commuting rules or anti-commuting rules for a particular clifford object. In particular, some while ago I have experimented with a Lie algebra implementation as a clifford object of GiNaC (the code is available on request). Also, clifford objects with different representation labels simply commute. This combination gives a significant freedom for implementing various algebraic rules.
However, if this is still not sufficient you may derive something from clifford class adding something more involved than int for the commutator_sign.
Best wishes, Vladimir
participants (2)
-
Vladimir V. Kisil
-
Vladyslav Shtabovenko