GLAC  1.0
Public Member Functions
LuscherAction Class Reference

An implementation of the Wilson gauge action,. More...

#include <luscheraction.h>

Inheritance diagram for LuscherAction:
[legend]
Collaboration diagram for LuscherAction:
[legend]

Public Member Functions

 LuscherAction ()
 
 ~LuscherAction ()
 
double getDeltaAction (SU3 U, SU3 UPrime)
 getDeltaAction computes the change in action. Staple must have already have been calculated. More...
 
void computeStaple (Lattice< SU3 > *lattice, unsigned int i, unsigned int j, unsigned int k, unsigned int l, int mu)
 computeStaple computes the staple at given poisition. More...
 
Lattice< SU3getActionDerivative (Lattice< SU3 > *lattice, int mu)
 getActionDerivative, computes the derivative of the lattice in given direction. More...
 
void updateMuIndex (int mu)
 updateMuIndex updates the m_muIndex based on mu. More...
 
void updateNuIndex (int nu)
 updateNuIndex updates the m_nuIndex based on nu. More...
 
- Public Member Functions inherited from Action
 Action ()
 Action base constructor. More...
 
virtual ~Action ()
 ~Action destructor. Nothing to de-allocate in base class More...
 

Additional Inherited Members

- Protected Attributes inherited from Action
std::vector< unsigned int > m_N
 m_N Lattice dimension array More...
 
std::vector< int > m_position
 Array for holding the position in lattice. More...
 

Detailed Description

An implementation of the Wilson gauge action,.

\begin{eqnarray*} S_G[U] = \frac{\beta}{3} \sum_{n\in\Lambda} \sum_{\mu<\nu} \mathrm{Re} \mathrm{tr} \big[ 1 - P_{\mu\nu}(n) \big]. \end{eqnarray*}

The different between this and WilsonGaugeAction is that in the getActionDerivative we perform an explicit calculation of the derivative in terms of its \(\mathrm{SU}(3)\) generator.

Author
Mathias M. Vege
Version
1.0
Date
2017-2019

Constructor & Destructor Documentation

◆ LuscherAction()

LuscherAction::LuscherAction ( )
Here is the call graph for this function:

◆ ~LuscherAction()

LuscherAction::~LuscherAction ( )

Member Function Documentation

◆ computeStaple()

void LuscherAction::computeStaple ( Lattice< SU3 > *  lattice,
unsigned int  i,
unsigned int  j,
unsigned int  k,
unsigned int  l,
int  mu 
)
virtual

computeStaple computes the staple at given poisition.

Parameters
latticea pointer of four lattice objects, one for each lorentz index.
ispatial \(x\) position.
jspatial \(y\) position.
kspatial \(z\) position.
ltemporal \(t\) position.
mulorentz index, \(\mu\).
Returns
Returns change in action \(\Delta S\)

Reimplemented from Action.

Here is the call graph for this function:

◆ getActionDerivative()

Lattice< SU3 > LuscherAction::getActionDerivative ( Lattice< SU3 > *  lattice,
int  mu 
)
virtual

getActionDerivative, computes the derivative of the lattice in given direction.

Parameters
latticea pointer of four lattice objects, one for each lorentz index.
mulorentz index, \(\mu\).

A slightly modified version of the Action derivative Multiply the product of this with each of the 8 \(T^a\) generators Take trace, real, and the multiply with \(\beta/3\). Multiply with 8 generators \(T^a\) again, sum and return matrix Can multiply the return matrix exactly instead of doing the 8 matrix multiplications and sums ect. See python script gellmann_matrix_multiplication.py for more details.

Reimplemented from Action.

Here is the call graph for this function:

◆ getDeltaAction()

double LuscherAction::getDeltaAction ( SU3  U,
SU3  UPrime 
)
virtual

getDeltaAction computes the change in action. Staple must have already have been calculated.

Parameters
UOld link
UPrimeUpdated link

Reimplemented from Action.

Here is the call graph for this function:

◆ updateMuIndex()

void LuscherAction::updateMuIndex ( int  mu)
inline

updateMuIndex updates the m_muIndex based on mu.

Parameters
mudirection which will be set to 1. All others set to zero.
Here is the caller graph for this function:

◆ updateNuIndex()

void LuscherAction::updateNuIndex ( int  nu)
inline

updateNuIndex updates the m_nuIndex based on nu.

Parameters
nudirection which will be set to 1. All others set to zero.
Here is the caller graph for this function:

The documentation for this class was generated from the following files: