inlib  1.2.0
/Users/barrand/private/dev/softinex/old/inexlib-1.2/inlib/inlib/a6z
Go to the documentation of this file.
00001 // Copyright (C) 2010, Guy Barrand. All rights reserved.
00002 // See the file inlib.license for terms.
00003 
00004 #ifndef inlib_a6z
00005 #define inlib_a6z
00006 
00007 #include "a6"
00008 
00009 #include <complex>
00010 
00011 namespace inlib {
00012 namespace a6z {
00013 
00014 // From the dirac spinor representation of the Lorentz group :
00015 //   SpinRep_k = 1/8 * [gamma_mu,gamma_nu] * E4_k_mu_nu
00016 // with k in [0,6[
00017 class lorentz_dirac_metric : public sqm< std::complex<double> > {
00018 public:
00019   typedef std::complex<double> z;
00020   lorentz_dirac_metric():sqm<z>(6) {
00021     set_value(0,0, 1);
00022     set_value(1,1, 1);
00023     set_value(2,2,-1);
00024     set_value(3,3, 1);
00025     set_value(4,4,-1);
00026     set_value(5,5,-1);
00027   }
00028 };
00029 
00031 // From the weyl spinor representation of the Lorentz group :
00032 //   SpinRep_k = (pauli_1/2,pauli_2/2,pauli_3/2,
00033 //                i*pauli_1/2,i*pauli_2/2,i*pauli_3/2)
00034 //   k in [0,6[
00036 class lorentz_weyl_metric : public sqm< std::complex<double> > {
00037 public:
00038   typedef std::complex<double> z;
00039   lorentz_weyl_metric():sqm<z>(6){
00040     set_value(0,0, 0.5);
00041     set_value(1,1, 0.5);
00042     set_value(2,2,-0.5);
00043     set_value(3,3, 0.5);
00044     set_value(4,4,-0.5);
00045     set_value(5,5,-0.5);
00046 
00047     z zi(0,1);
00048     set_value(0,5, zi*0.5);
00049     set_value(1,4,-zi*0.5);
00050     set_value(2,3, zi*0.5);
00051     set_value(3,2, zi*0.5);
00052     set_value(4,1,-zi*0.5);
00053     set_value(5,0, zi*0.5);  
00054   }
00055 };
00056 
00057 }}
00058 
00059 #endif
00060 
00061 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines