SOSpin is hosted by Hepforge, IPPP Durham
SOSpin  1.0.0
sospin Namespace Reference

Classes

class  Braket
 Store expression... More...
 
class  BraketOneTerm
 Store each term of the Braket class. More...
 
class  DList
 DList with nodes. More...
 
struct  elemType
 
struct  noList
 struct for the node of DList More...
 
class  ToForm
 Container for form specifications. More...
 

Enumerations

enum  Elem { b = 0, bt = 1, delta = 2, ct = 3 }
 Enumerator for Node symbol. More...
 

Functions

void setSimplifyIndexSum ()
 Activate internal simplifications based on the Braket Index sum. This option is activated by default. More...
 
void unsetSimplifyIndexSum ()
 Deactivate internal simplifications based on the Braket Index sum. More...
 
ostream & operator<< (ostream &out, const OPMode &a)
 Get the mode of the expression. More...
 
OPMode operator- (const OPMode a, const OPMode b)
 calculate the mode for the subtraction More...
 
OPMode operator+ (const OPMode a, const OPMode b)
 calculate the mode for the sum More...
 
OPMode operator* (const OPMode a, const OPMode b)
 calculate the mode for the multiplication More...
 
int expevaluationtype (int eval0, int eval1)
 
BraketOneTerm operator- (const BraketOneTerm &L)
 
Braket operator- (const Braket &L)
 
ostream & operator<< (ostream &out, const BraketOneTerm &L)
 
ostream & operator<< (ostream &out, const Braket &L)
 
string & operator<< (string &out, const Braket &L)
 
string & operator+ (string &out, const Braket &L)
 
string GetLeviCivita (vector< string > id0, vector< string > id1)
 
void OrderBandBdaggers (list< DList > &Toeval, OPMode oper)
 Evaluate expression in order to left all b's in left side and b^daggers in right side. More...
 
void ReduceNumberOfBandBdaggers (list< DList > &Toeval, OPMode oper)
 Evaluate expression in order to have the number of b's plus b^daggers equal to N of SO(N) More...
 
DListcopy (DList *L)
 Creates and returns a pointer to a new copy of a DList. More...
 
DList contract_deltas (DList &L, bool braketmode)
 Applies the following identity:

\begin{eqnarray*} b_i * b^\dagger_j = \delta_{i,j} - b^\dagger_j * b_i \end{eqnarray*}

input DList L keeps delta term and function returns the swapped term. More...

  DList ordering (DList &L, bool braketmode)  Order only the b's (to the left hand side) and b's (to the right hand side) terms. Applies the following identity:

\begin{eqnarray*} b^\dagger_j * b_i = \delta_{i,j} - b_i * b^\dagger_j \end{eqnarray*}

input DList L keeps delta term and function returns the swapped term. More...

  string printDeltas (DList &L)  Creates and returns a string with the deltas and constants of a DList. More...
  DListoperator* (DList &L, elemType j)  Adds element "j" to the end of DList. Returns pointer to DList. More...
  DList operator* (const DList &O, const DList &P)  Creates and returns new DList that joins two DLists by order of parameters. More...
  DListoperator- (DList &L, elemType j)  Negates the sign of a DList and add the elemtype "j" at end of it. More...
  DListoperator, (DList &L, elemType j)  Adds element "j" to the end of DList. Returns pointer to DList. More...
  ostream & operator<< (ostream &out, DList &L)  Sends to output stream ostream a string with the corresponding expression of the DList. More...
  ostream & operator<< (ostream &out, DList *L)  Sends to output stream ostream a string with the corresponding expression of the DList. More...
  DListoperator<< (DList &L, elemType j)  Adds element "j" to the end of DList. Returns pointer to DList. More...
  DListoperator<< (DList &L, DList &M)  Copies DList. Creates and returns a new DList with nodes of both DLists. Sign is the product of both products. More...
  bool operator== (DList &L, DList &M)  Returns true if two DLists are equal. More...
  void setFormRenumber ()  Set "renumber 1;" in FORM input file. This option is used to renumber indices in order to allow further simplifications However, in big expressions this must be avoid since it increases the computational time in FORM The best way to use is simplify the expression with FORM with this option unset, and then send a second time to FORM with this option active. More...
  void unsetFormRenumber ()  Unset "renumber 1;" in FORM input file. More...
  void setFormIndexSum ()  Set the index sum in input FORM file, ie, adds "sum i,j,...;" and "id e_(1,...,N) = 1". More...
  void unsetFormIndexSum ()  Unset the index sum in input FORM file. More...
  string FormField (const string fieldname, const unsigned int numUpperIds, const unsigned int numLowerIds, const FuncProp funcp)  Function to add field name and create field proprieties to FORM input file. More...
  void Formrun (Braket &exp, ToForm &formin, bool print, bool all, string newidlabel)  Create file input for FORM and run the FORM program and return the result to file and/or screen. More...
  void CallForm (Braket &exp, bool print=true, bool all=true, string newidlabel="j")  Creat the file input for FORM and run the FORM program and return the result to file and/or screen. More...
  int Idx_size ()  Return index list size. More...
  string makeId (string a, int id)  return in string format "a+id" More...
  void printIDX ()  print index list. More...
  int newIdx (int i)  Store new index of type "int". More...
  int newIdx (string i)  Store new index of type "string". More...
  void newId (string i)  Store new index of type "string". More...
  string getIdx (int i)  Get index. More...
  string IndexList ()  Index list. More...
  template<class T > string ToString (T number)  convert to string More...
  template string ToString< int > (int number)   template string ToString< unsigned int > (unsigned int number)   template string ToString< float > (float number)   template string ToString< double > (double number)   void DoProgress (string label, unsigned int step, unsigned int total, unsigned int interval)   void DoProgress (string label, unsigned int step, unsigned int total)   void setDim (int n)  Set the group dimension. More...
  int getDim ()  Get the group dimension. More...
  bool GroupEven ()  Return Group parity. More...
  void CleanGlobalDecl ()  Clean all indexes and function declarations. More...
  void setVerbosity (Verbosity verb)  Set verbosity level. More...
  Verbosity getVerbosity ()  Return current verbosity level. More...
  Braket Bop (string startid)  Operator B, "charge conjugation" matrix for SO(2N) spinor representations. More...
  Braket BopIdnum ()  Operator B, charge conjugation matrix for SO(2N) spinor representations. More...
  ostream & operator<< (ostream &out, const Verbosity &a)  Return current ostream verbosity level. More...
  size_t getPeakRSS ()  Gets highest (peak) value so far for resident set size (RSS) - physical memory use. More...
  size_t getCurrentRSS ()  Gets current resident set size (RSS) - physical memory use. More...
  void print_process_mem_usage ()  Prints memory stats (current and peak resident set size) in MB. More...
  Braket GammaH (int n)  Gamma's. More...
  Braket psi_16p (OPMode mode)  Constructs the ket and bra in the 16th SO(10) representation. More...
  Braket psi_16p (OPMode mode, string id)  Constructs the ket and bra in the 16th SO(10) representation. More...
  Braket psi_16m (OPMode mode)  Constructs the ket and bra in the 16th-bar SO(10) representation. More...
  Braket psi_16m (OPMode mode, string id)  Constructs the ket and bra in the 16th-bar SO(10) representation. More...
  Braket psi_144p (OPMode mode)  Constructs the ket and bra in the 144th-bar SO(10) representation. More...
  Braket psi_144m (OPMode mode)  Constructs the ket and bra in the 144th SO(10) representation. More...
  void DoProgress (std::string label, unsigned int step, unsigned int total)   void DoProgress (std::string label, unsigned int step, unsigned int total, unsigned int print_at_steps)   Braket Bop (std::string startid="i")  

Variables

ToForm form
 
vector< string > tabids
 Vector container of the indexes. More...
 

Enumeration Type Documentation

enum sospin::Elem

Enumerator for Node symbol.

enumerator for Node symbol

Enumerator

b element

bt 

b^\dagger element

delta 

\delta element

ct 

constant element

Definition at line 69 of file dlist.h.

Function Documentation

Braket sospin::Bop ( string  startid)

Operator B, "charge conjugation" matrix for SO(2N) spinor representations.

Parameters
startidthe algebraic indexes are written as startid_? (optional, default startid="i")

\begin{eqnarray*} B = \Pi_{\mu=odd}\Gamma_\mu = \frac{(-i)^N}{N!} \varepsilon_{i_1,...,i_N} \Pi_{k=1}^N \left(b_{i_k}-b^\dagger_{i_k}\right) \end{eqnarray*}

Definition at line 99 of file son.cpp.

Braket sospin::Bop ( std::string  startid = "i")
Braket sospin::BopIdnum ( )

Operator B, charge conjugation matrix for SO(2N) spinor representations.

\begin{eqnarray*} B = \Pi_{\mu=odd}\Gamma_\mu = (-i)^N \Pi_{k=1}^N \left(b_k-b^\dagger_k\right) \end{eqnarray*}

Definition at line 134 of file son.cpp.

void sospin::CallForm ( Braket exp,
bool  print = true,
bool  all = true,
string  newidlabel = "j" 
)

Creat the file input for FORM and run the FORM program and return the result to file and/or screen.

Parameters
[in,out]expBraket expression
printif TRUE prints final result to screen
allif TRUE write all the expression members separately in ouput FORM file, if @ FALSE only writes the full result together.

Definition at line 617 of file form.cpp.

void sospin::CleanGlobalDecl ( )

Clean all indexes and function declarations.

Definition at line 75 of file son.cpp.

DList sospin::contract_deltas ( DList L,
bool  braketmode 
)

Applies the following identity:

\begin{eqnarray*} b_i * b^\dagger_j = \delta_{i,j} - b^\dagger_j * b_i \end{eqnarray*}

input DList L keeps delta term and function returns the swapped term.

Parameters
[in,out]L,DListterm to be processed [in] braketmode, if true if last element in DList is a b, then the L is cleared
Returns
returns expression with b_i * b^ swapped or empty expression if b is the last term in L

Definition at line 845 of file dlist.cpp.

DList* sospin::copy ( DList L)

Creates and returns a pointer to a new copy of a DList.

Definition at line 806 of file dlist.cpp.

void sospin::DoProgress ( std::string  label,
unsigned int  step,
unsigned int  total 
)
void sospin::DoProgress ( std::string  label,
unsigned int  step,
unsigned int  total,
unsigned int  print_at_steps 
)
void sospin::DoProgress ( string  label,
unsigned int  step,
unsigned int  total,
unsigned int  interval 
)

Definition at line 74 of file progressStatus.cpp.

void sospin::DoProgress ( string  label,
unsigned int  step,
unsigned int  total 
)

Definition at line 126 of file progressStatus.cpp.

int sospin::expevaluationtype ( int  eval0,
int  eval1 
)

?????????????????????????????????

Definition at line 340 of file braket.cpp.

string sospin::FormField ( const string  fieldname,
const unsigned int  numUpperIds,
const unsigned int  numLowerIds,
const FuncProp  funcp 
)

Function to add field name and create field proprieties to FORM input file.

Parameters
[in]fieldname,nameof the field
[in]numUpperIds,numberof upper indices
[in]numLowerIds,numberof lower indices
[in]funcp,fieldtype. Allowed options are: SYM (symmetric without flavor indice), ASYM (antisymmetric without flavor indice), SYM_WITH_FLAVOR (symmetric with flavor indice) and ASYM_WITH_FLAVOR (antisymmetric with flavor indice)
Returns
return the field name in std::string type to show as a field must be declared inside a Braket.

Definition at line 156 of file form.cpp.

void sospin::Formrun ( Braket exp,
ToForm formin,
bool  print,
bool  all,
string  newidlabel 
)

Create file input for FORM and run the FORM program and return the result to file and/or screen.

Parameters
[in,out]expBraket expression to be simplified in FORM, the result is written back
[in]printif TRUE prints final result to screen
[in]allif TRUE write all the expression members separately in ouput FORM file, if @ FALSE only writes the full result together.
[in]newindice label to be used when teh option to sum indices is active

Definition at line 431 of file form.cpp.

Braket sospin::GammaH ( int  n)

Gamma's.

GammaH(n): n=0:

\begin{eqnarray*} \Gamma_\mu \phi_\mu &=& H \end{eqnarray*}

n=1:

\begin{eqnarray*} \Gamma_\mu \phi_\mu &=& \sqrt{2}\left(b_{r_1} H_{r_1} + b^\dagger_{r_2} H^{r_2} \right) \quad\quad (normalized) \end{eqnarray*}

n=2:

\begin{eqnarray*} \Gamma_\mu\Gamma_\nu \phi_{\mu\nu} &=& -i \frac{\sqrt{2}}{2} H_{r_1,r_2} b_{r_1} b_{r_2} -i \frac{\sqrt{2}}{2} H^{r_1,r_2} b^\dagger_{r_1} b^\dagger_{r_2} -i \left(\sqrt{2} H^{r_1}_{r_2} + \frac{\sqrt{10}}{5} \delta_{r1,r2} H\right) b^\dagger_{r_1} b_{r_2} +\frac{\sqrt{10}}{2} H \quad\quad (normalized) \end{eqnarray*}

n=3:

\begin{eqnarray*} \Gamma_\mu\Gamma_\nu\Gamma_\gamma \phi_{\mu\nu\gamma} &=& \frac{1}{6\sqrt{3}} \varepsilon_{r1,r2,r3,r4,r5} \left( H^{r_4,r_5} b_{r_1} b_{r_2} b_{r_3} + H_{r_4,r_5} b^\dagger_{r_1} b^\dagger_{r_2} b^\dagger_{r_3}\right)\\ && + \frac{1}{2\sqrt{3}} \left(2 H^{r_1}_{r_2,r_3} + \delta_{r_1,r_2} H_{r_3} - \delta_{r_1,r_3} H_{r_2}\right) b^\dagger_{r_1} b_{r_2} b_{r_3}\\ && + \frac{1}{2\sqrt{3}} \left(2 H^{r_1,r_2}_{r_3} + \delta_{r_1,r_3} H^{r_2} - \delta_{r_2,r_3} H^{r_1}\right) b^\dagger_{r_1} b^\dagger_{r_2} b_{r_3}\\ &&+\frac{2}{\sqrt{3}} \left(H^{r_1} b^\dagger_{r_1} - H_{r_1} b_{r_1}\right) \quad\quad (normalized) \end{eqnarray*}

n=4:

\begin{eqnarray*} \Gamma_\mu\Gamma_\nu\Gamma_\gamma \Gamma_\rho \phi_{\mu\nu\gamma\rho} &=& \frac{1}{3\sqrt{2}} \left(\frac{1}{\sqrt{3}} H^{r_1,r_2,r_3}_{r_4} + \frac{1}{3}\left(\delta_{r_3,r_4} H^{r_1,r_2} - \delta_{r_2,r_4} H^{r_1,r_3} + \delta_{r_1,r_4} H^{r_2,r_3}\right)\right) b^\dagger_{r_1} b^\dagger_{r_2} b^\dagger_{r_3} b_{r_4}\\ &&-\frac{1}{3\sqrt{2}}\left(\frac{1}{\sqrt{3}}H^{r_1}_{r_2,r_3,r_4} + \frac{1}{3} \left(\delta_{r_1,r_4} H_{r_2,r_3} - \delta_{r_1,r_3} H_{r_2,r_4} + \delta_{r_1,r_2} H_{r_3,r_4}\right)\right) b^\dagger_{r_1} b_{r_2} b_{r_3} b_{r_4}\\ && +\frac{1}{12\sqrt{6}} \varepsilon_{r_1,r_2,r_3,r_4,r_5} H_{r_5} b^\dagger_{r_1} b^\dagger_{r_2} b^\dagger_{r_3} b^\dagger_{r_4} + \frac{1}{12\sqrt{6}} \varepsilon_{r_1,r_2,r_3,r_4,r_5} H^{r_5} b_{r_1} b_{r_2} b_{r_3} b_{r_4}\\ &&-\frac{\sqrt{2}}{4} H^{r_1,r_2} b^\dagger_{r_1} b^\dagger_{r_2} +\frac{\sqrt{2}}{4} H_{r_1,r_2} b_{r_1} b_{r_2}\\ &&+\frac{\sqrt{5}}{2\sqrt{3}} H -\left(\frac{\sqrt{2}}{2} H^{r_1}_{r_2} +\frac{2\sqrt{5}}{5\sqrt{3}} \delta_{r_1,r_2} H\right) b^\dagger_{r_1} b_{r_2} \\ &&+\frac{1}{4}\left(\sqrt{\frac{2}{3}} H^{r_1,r_2}_{r_3,r_4} + \frac{\sqrt{2}}{3} \left(\delta_{r_1,r_4} H^{r_2}_{r_3} - \delta_{r_1,r_3} H^{r_2}_{r_4} + \delta_{r_2,r3} H^{r_1}_{r_4} - \delta_{r_2,r_4} H^{r_1}_{r_3} \right) + \frac{\sqrt{5}}{5\sqrt{3}} \left(\delta_{r_1,r_4} \delta_{r_2,r_3} - \delta_{r_1,r_3} \delta_{r_2,r_4}\right) H \right) b^\dagger_{r_1} b^\dagger_{r_2} b_{r_3} b_{r_4} \quad\quad (normalized) \end{eqnarray*}

n=5:

\begin{eqnarray*} \Gamma_\mu\Gamma_\nu\Gamma_\gamma \Gamma_\rho \Gamma_\eta \phi_{\mu\nu\gamma\rho\eta} &=& +\frac{\sqrt{15}}{60} \varepsilon_{r_1,r_2,r_3,r_4,r_5} H b_{r_1} b_{r_2} b_{r_3} b_{r_4} b_{r_5} +\frac{\sqrt{15}}{60} \varepsilon_{r_1,r_2,r_3,r_4,r_5} H b^\dagger_{r_1} b^\dagger_{r_2} b^\dagger_{r_3} b^\dagger_{r_4} b^\dagger_{r_5}\\ && +\frac{\sqrt{2}}{2\sqrt{5}} H^{r_1} b^\dagger_{r_1} -\frac{2\sqrt{2}}{3\sqrt{5}} H^{r_1} b^\dagger_{r_1} b^\dagger_{r_n} b_{r_n} +\frac{\sqrt{2}}{6\sqrt{5}} H^{r_1} b^\dagger_{r_1} b^\dagger_{r_n} b_{r_n} b^\dagger_{r_m} b_{r_m}\\ && +\frac{\sqrt{2}}{2\sqrt{5}} H_{r_1} b_{r_1} -\frac{2\sqrt{2}}{3\sqrt{5}} H_{r_1} b^\dagger_{r_n} b_{r_n} b_{r_1} +\frac{\sqrt{2}}{6\sqrt{5}} H_{r_1} b^\dagger_{r_n} b_{r_n} b^\dagger_{r_m} b_{r_m} b_{r_1}\\ && +\frac{\sqrt{2}}{12\sqrt{15}} \varepsilon_{r_1,r_2,r_3,r_4,r_5} H_{r_4,r_5} b^\dagger_{r_1} b^\dagger_{r_2} b^\dagger_{r_3} -\frac{\sqrt{2}}{12\sqrt{15}} \varepsilon_{r_1,r_2,r_3,r_4,r_5} H_{r_4,r_5} b^\dagger_{r_1} b^\dagger_{r_2} b^\dagger_{r_3} b^\dagger_{r_n} b_{r_n}\\ && +\frac{\sqrt{2}}{12\sqrt{15}} \varepsilon_{r_1,r_2,r_3,r_4,r_5} H^{r_4,r_5} b_{r_1} b_{r_2} b_{r_3} -\frac{\sqrt{2}}{12\sqrt{15}} \varepsilon_{r_1,r_2,r_3,r_4,r_5} H^{r_4,r_5} b^\dagger_{r_n} b_{r_n} b_{r_1} b_{r_2} b_{r_3} \\ && +\frac{\sqrt{2}}{\sqrt{15}} H^{r_1,r_2}_{r_3} b^\dagger_{r_1} b^\dagger_{r_2} b_{r_3} -\frac{\sqrt{2}}{2\sqrt{15}} H^{r_1,r_2}_{r_3} b^\dagger_{r_1} b^\dagger_{r_2} b_{r_3} b^\dagger_{r_n} b_{r_n}\\ && +\frac{\sqrt{2}}{\sqrt{15}} H^{r_1}_{r_2,r_3} b^\dagger_{r_1} b_{r_2} b_{r_3} -\frac{\sqrt{2}}{2\sqrt{15}} H^{r_1}_{r_2,r_3} b^\dagger_{r_n} b_{r_n} b^\dagger_{r_1} b_{r_2} b_{r_3} \\ && +\frac{\sqrt{2}}{24\sqrt{15}}\varepsilon_{r_1,r_2,r_3,r_4,r_n} H^{sym}_{r_n,r_m} b^\dagger_{r_1} b^\dagger_{r_2} b^\dagger_{r_3} b^\dagger_{r_4} b_{r_m} +\frac{\sqrt{2}}{24\sqrt{15}}\varepsilon_{r_2,r_3,r_4,r_m,r_n} H_{sym}^{r_n,r_1} b^\dagger_{r_1} b_{r_2} b_{r_3} b_{r_4} b_{r_m}\\ && +\frac{1}{6\sqrt{15}} H^{r_1,r_2,r_3}_{r_4,r_m} b^\dagger_{r_1} b^\dagger_{r_2} b^\dagger_{r_3} b_{r_4} b_{r_m} +\frac{1}{6\sqrt{15}} H^{r_1,r_2}_{r_3,r_4,r_m} b^\dagger_{r_1} b^\dagger_{r_2} b_{r_3} b_{r_4} b_{r_m} \quad\quad (normalized) \end{eqnarray*}

Definition at line 122 of file so10.cpp.

size_t sospin::getCurrentRSS ( )

Gets current resident set size (RSS) - physical memory use.

Returns the current resident set size (physical memory use) measured in bytes, or zero if the value cannot be determined on this OS.

Returns
Returns the current resident set size (physical memory use) measured in bytes, or zero if the value cannot be determined on this OS.

Definition at line 274 of file son.cpp.

int sospin::getDim ( )

Get the group dimension.

Definition at line 64 of file son.cpp.

string sospin::getIdx ( int  i)

Get index.

Return index in position @ the position "i".

Parameters
iposition of the index
Returns
index in position i

Definition at line 142 of file index.cpp.

string sospin::GetLeviCivita ( vector< string >  id0,
vector< string >  id1 
)

Definition at line 755 of file braket.cpp.

size_t sospin::getPeakRSS ( )

Gets highest (peak) value so far for resident set size (RSS) - physical memory use.

Returns the peak (maximum so far) resident set size (physical memory use) measured in bytes, or zero if the value cannot be determined on this OS.

Returns
Returns the peak (maximum so far) resident set size (physical memory use) measured in bytes, or zero if the value cannot be determined on this OS.

Definition at line 228 of file son.cpp.

Verbosity sospin::getVerbosity ( )

Return current verbosity level.

Returns
active current verbosity level

Definition at line 84 of file son.cpp.

bool sospin::GroupEven ( )

Return Group parity.

Definition at line 68 of file son.cpp.

int sospin::Idx_size ( )

Return index list size.

Definition at line 62 of file index.cpp.

string sospin::IndexList ( )

Index list.

Return index list in string of the form "Indices ?,...,?".

Returns
index list in string of the form "Indices ?,...,?";

Definition at line 150 of file index.cpp.

string sospin::makeId ( string  a,
int  id 
)

return in string format "a+id"

Definition at line 67 of file index.cpp.

void sospin::newId ( string  i)

Store new index of type "string".

Definition at line 125 of file index.cpp.

int sospin::newIdx ( int  i)

Store new index of type "int".

Definition at line 86 of file index.cpp.

int sospin::newIdx ( string  i)

Store new index of type "string".

Definition at line 106 of file index.cpp.

OPMode sospin::operator* ( const OPMode  a,
const OPMode  b 
)

calculate the mode for the multiplication

Parameters
amode of the left operand
bmode of the right operand
Returns
mode of the multiplication, if this results in an invalid operation the the program exit.

Definition at line 317 of file braket.cpp.

DList& sospin::operator* ( DList L,
elemType  j 
)

Adds element "j" to the end of DList. Returns pointer to DList.

Definition at line 996 of file dlist.cpp.

DList sospin::operator* ( const DList O,
const DList P 
)

Creates and returns new DList that joins two DLists by order of parameters.

Definition at line 1002 of file dlist.cpp.

OPMode sospin::operator+ ( const OPMode  a,
const OPMode  b 
)

calculate the mode for the sum

Parameters
amode of the left operand
bmode of the right operand
Returns
mode of the sum, if this results in an invalid operation the the program exit.

Definition at line 304 of file braket.cpp.

string& sospin::operator+ ( string &  out,
const Braket L 
)

Definition at line 617 of file braket.cpp.

DList& sospin::operator, ( DList L,
elemType  j 
)

Adds element "j" to the end of DList. Returns pointer to DList.

Definition at line 1055 of file dlist.cpp.

OPMode sospin::operator- ( const OPMode  a,
const OPMode  b 
)

calculate the mode for the subtraction

Parameters
amode of the left operand
bmode of the right operand
Returns
mode of the subtraction, if this results in an invalid operation the the program exit.

Definition at line 291 of file braket.cpp.

BraketOneTerm sospin::operator- ( const BraketOneTerm L)

Definition at line 365 of file braket.cpp.

Braket sospin::operator- ( const Braket L)

Definition at line 384 of file braket.cpp.

DList& sospin::operator- ( DList L,
elemType  j 
)

Negates the sign of a DList and add the elemtype "j" at end of it.

Definition at line 1048 of file dlist.cpp.

ostream & sospin::operator<< ( ostream &  out,
const Verbosity a 
)

Return current ostream verbosity level.

Returns
ostream for output

Definition at line 151 of file son.cpp.

ostream & sospin::operator<< ( ostream &  out,
const OPMode a 
)

Get the mode of the expression.

Parameters
amode of the current expression
Returns
the mode in ostream.

Definition at line 266 of file braket.cpp.

ostream& sospin::operator<< ( ostream &  out,
const BraketOneTerm L 
)

Definition at line 561 of file braket.cpp.

ostream& sospin::operator<< ( ostream &  out,
const Braket L 
)

Definition at line 598 of file braket.cpp.

string& sospin::operator<< ( string &  out,
const Braket L 
)

Definition at line 612 of file braket.cpp.

ostream& sospin::operator<< ( ostream &  out,
DList L 
)

Sends to output stream ostream a string with the corresponding expression of the DList.

Parameters
outostream
LDList
Returns
ostream
cout << L << endl;

Definition at line 1069 of file dlist.cpp.

ostream& sospin::operator<< ( ostream &  out,
DList L 
)

Sends to output stream ostream a string with the corresponding expression of the DList.

Definition at line 1095 of file dlist.cpp.

DList& sospin::operator<< ( DList L,
elemType  j 
)

Adds element "j" to the end of DList. Returns pointer to DList.

Definition at line 1123 of file dlist.cpp.

DList& sospin::operator<< ( DList L,
DList M 
)

Copies DList. Creates and returns a new DList with nodes of both DLists. Sign is the product of both products.

Parameters
MDList to copy
[out]LDList with content of M added
L << M;
//or with more DList's
L << M << N << O << P;

Definition at line 1138 of file dlist.cpp.

bool sospin::operator== ( DList L,
DList M 
)

Returns true if two DLists are equal.

Definition at line 1170 of file dlist.cpp.

void sospin::OrderBandBdaggers ( list< DList > &  Toeval,
OPMode  oper 
)

Evaluate expression in order to left all b's in left side and b^daggers in right side.

Parameters
[in,out]Toevalexpression term to evaluate
operexpression type, OPMode

Definition at line 838 of file braket.cpp.

DList sospin::ordering ( DList L,
bool  braketmode 
)

Order only the b's (to the left hand side) and b's (to the right hand side) terms. Applies the following identity:

\begin{eqnarray*} b^\dagger_j * b_i = \delta_{i,j} - b_i * b^\dagger_j \end{eqnarray*}

input DList L keeps delta term and function returns the swapped term.

Parameters
[in,out]L,DListterm to be processed [in] braketmode, if true if last element in DList is a b, then the L is cleared
Returns
returns expression with b^ * b_i swapped or empty expression if b is the last term in L

Definition at line 911 of file dlist.cpp.

void sospin::print_process_mem_usage ( )

Prints memory stats (current and peak resident set size) in MB.

Prints memory stats (current and peak resident set size) in MB.

Definition at line 316 of file son.cpp.

string sospin::printDeltas ( DList L)

Creates and returns a string with the deltas and constants of a DList.

Definition at line 975 of file dlist.cpp.

void sospin::printIDX ( )

print index list.

Definition at line 73 of file index.cpp.

Braket sospin::psi_144m ( OPMode  mode)

Constructs the ket and bra in the 144th SO(10) representation.

Note that A and B are flavour indices

OPMode bra: $\left< \psi^*_{(-)}\right|$:

\begin{eqnarray*} && \frac{1}{120} \varepsilon_{o, p, q, r, s} Q_A^n \left< 0\right| b_o b_p b_q b_r b_s +\frac{1}{12} \varepsilon_{o, p, q, r, s} \left( Q^n_{A,o,p} + \frac{1}{2 \sqrt{5}} \left(\delta_{n, o} Q_{A,p} - \delta_{n, p} Q_{A, o}\right) \right) \left< 0\right| b_s b_r b_q +\frac{1}{2} \left( \sqrt{\frac{6}{5}} Q^{o,n}_A + \sqrt{2} Q^{o,n}_{A\, sym} \right) \left< 0\right| b_o\\ && +Q^o_{A, n} \left< 0 \right| b_o + \frac{1}{72} \varepsilon_{o, p, qq, rr, ss} \left( \varepsilon_{o, p, q, r, s} Q^{q,r,s}_{A,n} - \sqrt{\frac{6}{5}} \varepsilon_{o, p, n, r, s} Q^{r,s}_A\right) \left< 0 \right| b_{ss} b_{rr} b_{qq} + \frac{1}{60 \sqrt{5}} \varepsilon_{o, p, q, r, s} Q_{A,n} \left< 0 \right| b_o b_p b_q b_r b_s \end{eqnarray*}

OPMode ket: $\left| \psi_{(-)}\right>$:

\begin{eqnarray*} && b^\dagger_i b^\dagger_j b^\dagger_k b^\dagger_l b^\dagger_m \left| 0\right> \frac{1}{120} \varepsilon_{i,j,k,l,m} Q_B^n + b^\dagger_k b^\dagger_l b^\dagger_m \left| 0\right> \frac{1}{12} \varepsilon_{i,j,k,l,m} \left( Q^n_{B,i,j} + \frac{1}{2\sqrt{5}} \left( \delta_{n,i} Q_{B,j}-\delta_{n,j} Q_{B,i} \right) \right) + b^\dagger_i \left| 0\right> \frac{1}{2} \left( \sqrt{\frac{6}{5}} Q^{i,n}_B + \sqrt{2} Q^{i,n}_{B\, sym} \right)\\ && + b^\dagger_i b^\dagger_j b^\dagger_k b^\dagger_l b^\dagger_m \left| 0\right> \frac{1}{60\sqrt{5}} \varepsilon_{i,j,k,l,m} Q_{B,n} + b^\dagger_{kk} b^\dagger_{ll} b^\dagger_{mm} \left| 0\right> \frac{1}{72} \varepsilon_{i,j,kk,ll,mm} \left( \varepsilon_{i,j,k,l,m} Q^{k,l,m}_{B,n} - \sqrt{\frac{6}{5}} \varepsilon_{i,j,n,l,m} Q^{l,m}_B \right) + b^\dagger_i \left| 0\right> Q^i_{B,n} \end{eqnarray*}

Definition at line 548 of file so10.cpp.

Braket sospin::psi_144p ( OPMode  mode)

Constructs the ket and bra in the 144th-bar SO(10) representation.

Note that A and B are flavour indices

OPMode bra: $\left< \psi^*_{(-)}\right|$:

\begin{eqnarray*} && \frac{2}{\sqrt{5}} P_A^n \left< 0\right| +\frac{1}{12} \left( \varepsilon_{o, p, q, r, s} P^{n}_{A, q, r, s} - \sqrt{\frac{6}{5}} \varepsilon_{o, p, n, r, s} P_A^{r, s} \right) \left< 0 \right| b_p b_o +\frac{1}{24} \varepsilon_{o, p, q, r, s} P^n_{A,o} \left< 0 \right| b_s b_r b_q b_p\\ && +P_{A, n} \left< 0 \right| +\left( \frac{1}{2} P^{o,p}_{A,n} + \frac{1}{4 sqrt(5)} \left(\delta_{o, n} P^p_A - \delta_{p, n} P^o_A \right)\right) \left< 0 \right| b_p b_o +\frac{1}{48} \varepsilon_{o, p, q, r, s} \left( \sqrt{\frac{6}{5}} P_{A, o, n} + \sqrt{2} P^{sym}_{A, o, n} \right) \left< 0 \right| b_s b_r b_q b_p \end{eqnarray*}

OPMode ket: $\left| \psi_{(-)}\right>$:

\begin{eqnarray*} && \left| 0\right> \frac{2}{\sqrt{5}} P_B^n +b^\dagger_i b^\dagger_j \left| 0\right> \frac{1}{12} \left( \varepsilon_{i,j,k,l,m} P^{n}_{B, k,l,m} - \sqrt{\frac{6}{5}} \varepsilon_{i,j,n,l,m} P_B^{l,m} \right) +b^\dagger_j b^\dagger_k b^\dagger_l b^\dagger_m \left| 0\right> \frac{1}{24} \varepsilon_{i,j,k,l,m} P^n_{B,i} \\ && +\left| 0\right> P_{B, n} +b^\dagger_i b^\dagger_j \left| 0\right> \left( \frac{1}{2} P^{o,p}_{B,n} + \frac{1}{4 sqrt(5)} \left(\delta_{i, n} P^j_B - \delta_{j, n} P^i_B \right)\right) +b^\dagger_j b^\dagger_k b^\dagger_l b^\dagger_m \left| 0\right> \frac{1}{48} \varepsilon_{i,j,k,l,m} \left( \sqrt{\frac{6}{5}} P_{B, i, n} + \sqrt{2} P^{sym}_{B, i, n} \right) \end{eqnarray*}

Definition at line 474 of file so10.cpp.

Braket sospin::psi_16m ( OPMode  mode)

Constructs the ket and bra in the 16th-bar SO(10) representation.

Note that A and B are flavour indices

OPMode bra: $\left< \psi^*_{(-)}\right|$:

\begin{eqnarray*} \bar{N}_{A\,o} \left< 0\right| b_o +\frac{1}{12} \varepsilon_{o,p,q,r,s} \bar{N}^{o,p}_A\left< 0 \right| b_s b_r b_q +\frac{1}{120} \varepsilon_{o,p,q,r,s} \bar{N}_A \left< 0 \right| b_s b_r b_q b_p b_o \end{eqnarray*}

OPMode ket: $\left| \psi_{(-)}\right>$:

\begin{eqnarray*} \left| 0\right> \bar{M}_B + b^\dagger_l b^\dagger_m b^\dagger_n \left| 0\right>\frac{1}{12} \varepsilon_{j,k,l,m,n} \bar{M}^{j,k}_B + b^\dagger_j b^\dagger_k b^\dagger_l b^\dagger_m b^\dagger_n \left| 0\right> \frac{1}{120} \varepsilon_{j,k,l,m,n} \bar{M}_B \end{eqnarray*}

Definition at line 358 of file so10.cpp.

Braket sospin::psi_16m ( OPMode  mode,
string  id 
)

Constructs the ket and bra in the 16th-bar SO(10) representation.

Parameters
modebra, ket id: defines the head of the index, ex: j1, j2, ...
Returns
bra/ket

Note that A and B are flavour indices

OPMode bra: $\left< \psi^*_{(-)}\right|$:

\begin{eqnarray*} \bar{N}_{A\,o} \left< 0\right| b_o +\frac{1}{12} \varepsilon_{o,p,q,r,s} \bar{N}^{o,p}_A\left< 0 \right| b_s b_r b_q +\frac{1}{120} \varepsilon_{o,p,q,r,s} \bar{N}_A \left< 0 \right| b_s b_r b_q b_p b_o \end{eqnarray*}

OPMode ket: $\left| \psi_{(-)}\right>$:

\begin{eqnarray*} \left| 0\right> \bar{M}_B + b^\dagger_l b^\dagger_m b^\dagger_n \left| 0\right>\frac{1}{12} \varepsilon_{j,k,l,m,n} \bar{M}^{j,k}_B + b^\dagger_j b^\dagger_k b^\dagger_l b^\dagger_m b^\dagger_n \left| 0\right> \frac{1}{120} \varepsilon_{j,k,l,m,n} \bar{M}_B \end{eqnarray*}

Definition at line 411 of file so10.cpp.

Braket sospin::psi_16p ( OPMode  mode)

Constructs the ket and bra in the 16th SO(10) representation.

Parameters
modebra, ket
Returns
bra/ket

Note that A and B are flavour indices

OPMode bra:

$\left< \psi^*_{(+)}\right|$:

\begin{eqnarray*} M_A \left< 0\right| +\frac{1}{2}M^{o,p}_A\left< 0 \right| b_p b_o +\frac{1}{24} \varepsilon_{o,p,q,r,s} \bar{M}_{A\,o} \left< 0 \right| b_s b_r b_q b_p \end{eqnarray*}

OPMode ket: $\left| \psi_{(+)}\right>$:

\begin{eqnarray*} \left| 0\right> M_B +b^\dagger_j b^\dagger_k \left| 0\right> \frac{1}{2} M^{j,k}_B + b^\dagger_k b^\dagger_l b^\dagger_m b^\dagger_n \left| 0\right> \frac{1}{24} \varepsilon_{j,k,l,m,n} \bar{M}_{B\,j} \end{eqnarray*}

Definition at line 252 of file so10.cpp.

Braket sospin::psi_16p ( OPMode  mode,
string  id 
)

Constructs the ket and bra in the 16th SO(10) representation.

Parameters
modebra, ket id: defines the head of the index, ex: j1, j2, ...
Returns
bra/ket

Note that A and B are flavour indices

OPMode bra: $\left< \psi^*_{(+)}\right|$:

\begin{eqnarray*} M_A \left< 0\right| +\frac{1}{2}M^{o,p}_A\left< 0 \right| b_p b_o +\frac{1}{24} \varepsilon_{o,p,q,r,s} \bar{M}_{A\,o} \left< 0 \right| b_s b_r b_q b_p \end{eqnarray*}

OPMode ket: $\left| \psi_{(+)}\right>$:

\begin{eqnarray*} \left| 0\right> M_B +b^\dagger_j b^\dagger_k \left| 0\right> \frac{1}{2} M^{j,k}_B + b^\dagger_k b^\dagger_l b^\dagger_m b^\dagger_n \left| 0\right> \frac{1}{24} \varepsilon_{j,k,l,m,n} \bar{M}_{B\,j} \end{eqnarray*}

Definition at line 305 of file so10.cpp.

void sospin::ReduceNumberOfBandBdaggers ( list< DList > &  Toeval,
OPMode  oper 
)

Evaluate expression in order to have the number of b's plus b^daggers equal to N of SO(N)

Parameters
[in,out]Toevalexpression term to evaluate
operexpression type, OPMode

Definition at line 901 of file braket.cpp.

void sospin::setDim ( int  n)

Set the group dimension.

Definition at line 59 of file son.cpp.

void sospin::setFormIndexSum ( )

Set the index sum in input FORM file, ie, adds "sum i,j,...;" and "id e_(1,...,N) = 1".

By default this option is activated.

Definition at line 129 of file form.cpp.

void sospin::setFormRenumber ( )

Set "renumber 1;" in FORM input file. This option is used to renumber indices in order to allow further simplifications However, in big expressions this must be avoid since it increases the computational time in FORM The best way to use is simplify the expression with FORM with this option unset, and then send a second time to FORM with this option active.

By default this option is unset.

Definition at line 113 of file form.cpp.

void sospin::setSimplifyIndexSum ( )

Activate internal simplifications based on the Braket Index sum. This option is activated by default.

Definition at line 63 of file braket.cpp.

void sospin::setVerbosity ( Verbosity  verb)

Set verbosity level.

Parameters
verbverbosity options: SILENT, SUMMARIZE, VERBOSE, DEBUG_VERBOSE

Definition at line 80 of file son.cpp.

template<class T >
string sospin::ToString ( number)

convert to string

Convert to string.

Definition at line 179 of file index.cpp.

template string sospin::ToString< double > ( double  number)
template string sospin::ToString< float > ( float  number)
template string sospin::ToString< int > ( int  number)
template string sospin::ToString< unsigned int > ( unsigned int  number)
void sospin::unsetFormIndexSum ( )

Unset the index sum in input FORM file.

Definition at line 134 of file form.cpp.

void sospin::unsetFormRenumber ( )

Unset "renumber 1;" in FORM input file.

Default option is unset.

Definition at line 120 of file form.cpp.

void sospin::unsetSimplifyIndexSum ( )

Deactivate internal simplifications based on the Braket Index sum.

Definition at line 67 of file braket.cpp.

Variable Documentation

ToForm sospin::form

Definition at line 56 of file form.cpp.

vector< string > sospin::tabids

Vector container of the indexes.

Definition at line 59 of file index.cpp.