inlib  1.2.0
/Users/barrand/private/dev/softinex/old/inexlib-1.2/inlib/inlib/a6d
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_a6d
00005 #define inlib_a6d
00006 
00007 #include "a6"
00008 
00009 namespace inlib {
00010 namespace a6d {
00011 
00013 // From the vector representation of the Lorentz group :
00014 //   VecRep_k = eta * E4_k  
00015 // with k in [0,6[
00016 // We must have :
00017 //  [VecRep_j,VecRep_k] = Lorentz_Group_const(j,k,l) * VecRep_l
00019 class lorentz_group_constants : public a6::cbm<double> {
00020 public:
00021   lorentz_group_constants(){
00022     set_value(0,1,2,1);
00023     set_value(0,2,1,1);
00024     set_value(0,3,4,1);
00025     set_value(0,4,3,1);
00026 
00027     set_value(1,2,0,-1);
00028     set_value(1,3,5,1);
00029     set_value(1,5,3,1);
00030 
00031     set_value(2,4,5,-1);
00032     set_value(2,5,4,1);
00033 
00034     set_value(3,4,0,-1);
00035     set_value(3,5,1,-1);
00036 
00037     set_value(4,5,2,-1);
00038 
00039     // Antysym parts :
00040     set_value(1,0,2,-1);
00041     set_value(2,0,1,-1);
00042     set_value(3,0,4,-1);
00043     set_value(4,0,3,-1);
00044 
00045     set_value(2,1,0,1);
00046     set_value(3,1,5,-1);
00047     set_value(5,1,3,-1);
00048   
00049     set_value(4,2,5,1);
00050     set_value(5,2,4,-1);
00051   
00052     set_value(4,3,0,1);
00053     set_value(5,3,1,1);
00054   
00055     set_value(5,4,2,1);
00056   }
00057 };
00058 
00060 // From the vector representation of the Lorentz group :
00061 //   VecRep_k = eta * E4_k  
00062 // with k in [0,6[
00064 class lorentz_vec_metric : public sqm<double> {
00065 public:
00066   lorentz_vec_metric(): sqm<double>(6){
00067     set_value(0,0, 2);
00068     set_value(1,1, 2);
00069     set_value(2,2,-2);
00070     set_value(3,3, 2);
00071     set_value(4,4,-2);
00072     set_value(5,5,-2);
00073   }
00074 };
00075 
00077 // From the vector representation of the Lorentz group :
00078 //   VecRep_k = eta * Ek  (and not E4_k)
00079 // with k in [0,6[
00080 // We must have :
00081 //  [VecRep_j,VecRep_k] = Lorentz_Group_const(j,k,l) * VecRep_l
00083 class eta_E_lorentz_group_constants : public a6::cbm<double> {
00084 public:
00085   eta_E_lorentz_group_constants(){
00086     set_value(0,1,2, 1);
00087     set_value(0,2,1,-1);
00088     set_value(0,3,4,-1);
00089     set_value(0,4,3, 1);
00090   
00091     set_value(1,2,0, 1);
00092     set_value(1,3,5, 1);
00093     set_value(1,5,3,-1);
00094   
00095     set_value(2,4,5,-1);
00096     set_value(2,5,4, 1);
00097   
00098     set_value(3,4,0, 1);
00099     set_value(3,5,1,-1);
00100   
00101     set_value(4,5,2, 1);
00102   
00103     // Antysym parts :
00104     set_value(1,0,2,-1);
00105     set_value(2,0,1, 1);
00106     set_value(3,0,4, 1);
00107     set_value(4,0,3,-1);
00108   
00109     set_value(2,1,0,-1);
00110     set_value(3,1,5,-1);
00111     set_value(5,1,3, 1);
00112   
00113     set_value(4,2,5, 1);
00114     set_value(5,2,4,-1);
00115   
00116     set_value(4,3,0,-1);
00117     set_value(5,3,1, 1);
00118   
00119     set_value(5,4,2,-1);
00120   }
00121 };
00122 
00123 }}
00124 
00125 #endif
00126 
00127 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines